C# TabControl手动触发DrawItem的实现
作者:naruto2017 发布时间:2023-12-27 17:01:27
标签: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);
}
来源:https://blog.csdn.net/szy759590387/article/details/127881309
0
投稿
猜你喜欢
- using System;using System.Data;using System.Configuration;using System
- 本文实例为大家分享了Spring Boot实现文件上传下载的具体代码,供大家参考,具体内容如下示例【Spring Boot 文件
- 本文实例为大家分享了java实现数字转换人民币中文大写的具体代码,供大家参考,具体内容如下业务场景:1.在人事业务系统开发的报表打印文书时经
- 目录对象的创建创建方式对象的内存布局创建过程对象的内存分配分配方式并发安全代码优化逃逸分析的不成熟性实际的对象空间分配过程对象的访问句柄直接
- 本文分析了Android编程中出现The connection to adb is down问题的解决方法。分享给大家供大家参考,具体如下:
- 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servl
- 本文实例分析了C#反射内存的处理。分享给大家供大家参考。具体分析如下:这段时间由于公司的项目的要求,我利用c#的反射的机制做了一个客户端框架
- 更正说明:我之前的的标题有点文不对题,我这篇博客的内容明明说的是:java中对象创建的过程,对内存之种底层的东西,我其实提的不太多。所以我原
- 本文实例讲述了Android编程实现webview将网页打包成apk的方法。分享给大家供大家参考,具体如下:功能非常简单,而且乍一看没什么特
- 每一个基于java的应用程序都有一个共同工作来展示给用户看到的内容作为工作的应用几个对象。当编写一个复杂的Java应用程序,应用程序类应该尽
- mapper文件使用in("str1","str2")mybatis的xxxMapper.xml文件
- 无论是Android开发或者是其他移动平台的开发,ListView肯定是一个大咖,那么对ListView的操作肯定是不会少的,上一篇博客介绍
- 图片转换成字节流先要转换的IMage对象,转换之后返回字节流。字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图
- 这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求Timer类是用来执行任务的类,它接受一个TimerTask做参数Timer有两
- SchedulingConfigurer实现动态定时,导致ApplicationRunner无效问题描述当通过SchedulingConfi
- 命令模式定义:将请求封装成对象,这可以让你使用不同的请求、队列、或者日志来参数化其他对象。何时使用命令模式?当需要将发出请求的对象和执行请求
- 首先是网页部分,upload_file.jsp<%@ page language="java" import=&q
- 有时我们需要判断某个类是否实现了某个接口(Interface),比如在使用反射机制(Reflection)来查找特定类型的时候。简单来说,可
- 好久就想着好好搭建一个ssm框架,自己以后用也方便吧,但是最近的事真的是很多,很多事情都没有去干,有时候自己会怀疑一下人生自己该不该去做程序
- 先给大家展示下效果图:不知道大家对效果图感觉怎么样,个人觉还不错,感兴趣的朋友可以参考下实现代码哦。public class ToggleB