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
投稿
猜你喜欢
- 游标查询(scroll)简介scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种
- 要“监听”事件,我们总是可以将“ * ”作为事件源中的另一个方法写入事件,但这将使事件源与 * 的逻辑紧密耦合。对于实际事件,我们比直接方法
- 传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Sockets
- Java对自动登陆功能的简单实现,仅用到了servlet和一个filter。第一次写博文,如有不足的地方,敬请指正,谢谢。登陆界面<%
- 在Java世界中,AES、DES加密解密需要使用Cipher对象构建加密解密系统,Hutool中对这一对象做再包装,简化了加密解密过程。介绍
- 前言最近在网上看到一篇文章,里面说到:List<T>.FindAll的效率竟然比for循环还差,下面是文章的截图:我在上文代码基
- 使用后台返回验证码图片,验证码存到session中后端实现校验,前端只展示验证码图片。本篇用SpringBoot Thymeleaf实现验证
- 图像切换器(ImageSwitcher),用于实现类似于windows操作系统下的windows照片查看器中的上一张 下一张切换图片的功能,
- 前言在 上一节 Spring解密 - 默认标签的解析 中,重点分析了 Spring 对默认标签是如何解析的,那么本章继续讲解标签解析,着重讲
- 本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。Thymeleaf提供了一组Spring集成,允
- 前言需要对一个List中的对象进行唯一值属性去重,属性求和,对象假设为BillsNums,有id、nums、sums三个属性,其中id表示唯
- selectMaps和selectList的区别selectList查询部分字段,会返回所有的,没查询的值为nullselectMaps 只
- 本文实例讲述了C#实现的WINDOWS登录功能。分享给大家供大家参考,具体如下:using System;using System.Data
- 随着对多线程学习的深入,你可能觉得需要了解一些有关线程共享资源的问题. .NET framework提供了很多的类和数据
- 1: .net framework 由两个部分组成:CLR 和 FCL。2:在CLR中,所有错误都是通过异常来报告的。3:智能感知功能主要是
- 本文实例讲述了基于C#实现XML文件读取工具类。分享给大家供大家参考。具体如下:这是我去年写的一个XML文件读取工具类,现在做了一些调整 基
- Java * 。具体有如下四步骤:通过实现 InvocationHandler 接口创建自己的调用处理器;通过为 Proxy 类指定 C
- 问题springboot 集成springcloud时常常由于版本问题而报错,如下:com.sun.jersey.api.client.Cl
- mybatis in查询条件过长的解决方法1:分次查询,将参数且分割成多个短的查询后合并代码: in
- 虹软免费,高级版本试用支持在线、离线有 Java SDK,C++ SDK一、注册虹软开发者平台点击注册注册完成后可在“我