C# TabControl手动触发DrawItem的实现

 更新时间:2023年02月08日 15:28:26   作者:naruto2017  
本文主要介绍了C# TabControl手动触发DrawItem的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

当需要重绘TabControl的背景颜色时,有两种方法。

方法一

网上有很多文章介绍,将tabControl的DrawMode属性设为OwnerDrawFixed,然后在其DrawItem事件处理程序中重绘背景颜色。

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
    //标签header的背景
    for (int i = 0; i < tabControl1.TabPages.Count; i++)
    {
        e.Graphics.FillRectangle(Brushes.White, (sender as TabControl).GetTabRect(i));
    }
    //tabControl背景
    e.Graphics.FillRectangle(Brushes.White, (sender as TabControl).ClientRectangle);
}

方法二

当将tabControl的ItemSize设为(0,1)以便隐藏标签title的时候,方法一的事件不会被触发,会导致背景颜色无法重绘,这时候可以使用以下代码手动执行重绘。

private void ReDrawItem()
{
    Graphics g = Graphics.FromHwnd(tabControl1.Handle);
    //tabPage标签header的背景
    for (int i = 0; i < tabControl1.TabPages.Count; i++)
    {
        g.FillRectangle(Brushes.White, tabControl1.GetTabRect(i));
    }
    //tabControl背景
    g.FillRectangle(Brushes.White, tabControl1.ClientRectangle);
}

到此这篇关于C# TabControl手动触发DrawItem的实现的文章就介绍到这了,更多相关C#  手动触发DrawItem内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何使用C#在PDF文件添加图片印章

    如何使用C#在PDF文件添加图片印章

    文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性。C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述如何以编程的方式在PDF文件中添加图片印章
    2017-01-01
  • 实例详解C#实现http不同方法的请求

    实例详解C#实现http不同方法的请求

    本篇文章给大家分享了C#实现http不同方法的请求的相关知识点以及实例代码,有需要的朋友参考下。
    2018-07-07
  • C#根据前台传入实体名称实现动态查询数据

    C#根据前台传入实体名称实现动态查询数据

    这篇文章主要为大家详细介绍了C#如何根据前台传入实体名称实现动态查询数据的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-04-04
  • 深入解析C#中的泛型类与泛型接口

    深入解析C#中的泛型类与泛型接口

    这篇文章主要介绍了C#中的泛型类与泛型接口,对泛型的支持是C#语言的重要特性,需要的朋友可以参考下
    2016-02-02
  • c#冒泡排序算法示例

    c#冒泡排序算法示例

    这篇文章主要介绍了c#冒泡排序算法示例,需要的朋友可以参考下
    2014-04-04
  • 如何在C#中使用指针

    如何在C#中使用指针

    这篇文章主要介绍了如何在C#中使用指针,文中代码简单易懂,帮助大家更好的工作和学习,感兴趣的朋友快来了解下
    2020-06-06
  • C# 泛型List排序的实现

    C# 泛型List排序的实现

    本文主要介绍了C# 泛型List排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 基于WPF实现多选下拉控件的示例代码

    基于WPF实现多选下拉控件的示例代码

    这篇文章主要为大家详细介绍了WPF实现简单的多选下拉控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-02-02
  • C#中委托的进一步理解

    C#中委托的进一步理解

    这篇文章主要介绍了C#中委托的进一步理解,本文讲解了委托类型、建立委托链、移除委托链等内容,需要的朋友可以参考下
    2015-02-02
  • C#实现操作PPT动画窗格并插入音频文件

    C#实现操作PPT动画窗格并插入音频文件

    这篇文章主要为大家详细介绍了如何利用C#实现操作PPT动画窗格并插入音频文件,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10

最新评论