C# TabControl手动触发DrawItem的实现

作者:naruto2017 时间:2023-12-27 17:01:27 

当需要重绘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);
}

来源:https://blog.csdn.net/szy759590387/article/details/127881309

标签:C#,TabControl,DrawItem
0
投稿

猜你喜欢

  • mybatis中的count()按条件查询方式

    2022-06-30 06:04:29
  • SpringCloud Zuul过滤器和谷歌Gauva实现限流

    2022-08-31 11:59:21
  • C#中异步回调函数用法实例

    2023-01-05 13:10:53
  • springboot redis分布式锁代码实例

    2023-12-05 21:40:10
  • Java学习基础之安装JDK/配置JDK环境&IEDA工具安装

    2023-02-09 13:02:40
  • C#游戏开发之实现贪吃蛇游戏

    2023-01-28 01:48:48
  • Android自定义view实现列表内左滑删除Item

    2021-10-28 17:19:50
  • 设置JavaScript自动提示-Eclipse/MyEclipse

    2022-06-15 12:41:05
  • Spring Security配置多个数据源并添加登录验证码的实例代码

    2022-11-19 13:49:26
  • 使用IDEA异常断点来定位java.lang.ArrayStoreException的问题

    2022-06-14 00:43:18
  • Android RecyclerView选择多个item的实现代码

    2022-06-09 10:56:56
  • Java与SpringBoot对redis的使用方式

    2021-06-11 19:23:39
  • Java编程实现对十六进制字符串异或运算代码示例

    2023-11-06 15:58:15
  • C#实现上位机与欧姆龙PLC通讯(FINS)

    2022-10-05 03:10:08
  • C#编程中设置程序只可被运行一次的方法

    2022-08-09 08:36:32
  • springboot整合token的实现代码

    2023-11-10 19:02:03
  • JDK集合源码之解析TreeMap(一)

    2021-08-09 07:14:02
  • Unity实现枚举类型中文显示

    2023-02-22 12:00:28
  • Spring中RedisTemplate的基本使用浅析

    2023-03-08 05:46:50
  • 浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系

    2021-09-12 23:37:24
  • asp之家 软件编程 m.aspxhome.com