WinForm TabControl标签背景色

2024-03-28 07:30

本文主要是介绍WinForm TabControl标签背景色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 新建窗体程序,命名为”Form6_TabControl“

  2. 窗口界面如下:
    在这里插入图片描述

  3. 将【tabControl】控件的【DrawMode】属性修改为”OwnerDrawFixed“
    在这里插入图片描述
    设计界面变为
    在这里插入图片描述

  4. tabControl控件的事件属性页,添加【DrawItem】事件
    在这里插入图片描述

  5. 编辑【DrawItem】事件

//初始化tabcontrol选项页颜色private void tabControl1_DrawItem(object sender, DrawItemEventArgs e){//设置笔刷SolidBrush yellow = new SolidBrush(Color.Yellow);SolidBrush orange = new SolidBrush(Color.Orange);SolidBrush green = new SolidBrush(Color.Green);SolidBrush black = new SolidBrush(Color.Black);//设置标签文字水平垂直居中StringFormat stringFormat = new StringFormat();stringFormat.Alignment = StringAlignment.Center;  //水平方向居中stringFormat.LineAlignment = StringAlignment.Center;   //垂直方向居中 //逐个绘制各个标签页的背景颜色,包括黄色、蓝色、绿色等//绘制黄色背景Rectangle rec1 = tabControl1.GetTabRect(0);e.Graphics.FillRectangle(yellow, rec1);//MessageBox.Show("显示黄色标签");//绘制蓝色背景Rectangle rec2 = tabControl1.GetTabRect(1);e.Graphics.FillRectangle(orange, rec2);//MessageBox.Show("显示蓝色标签");//绘制绿色背景Rectangle rec3 = tabControl1.GetTabRect(2);e.Graphics.FillRectangle(green, rec3);//MessageBox.Show("显示绿色标签");//设置文字颜色for(int i = 0; i < tabControl1.TabPages.Count; i++){Rectangle rec = tabControl1.GetTabRect(i);//设置标签文字字体和文字大小e.Graphics.DrawString(tabControl1.TabPages[i].Text,new Font("宋体", 9), black, rec, stringFormat);}}  

在这里插入图片描述
运行代码结果
在这里插入图片描述

注:程序运行时将字体由宋体改为了楷体

这篇关于WinForm TabControl标签背景色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/854883

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

Spring下自定义xml标签

dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 1 package com.hulk.testdubbo.model;2 3 public class Hero {4 private String name;5 private int

Struts2常用标签总结--转载

Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。 Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于

C# 无法删除 Winform的PictureBox正在展示的图片

最近用C#的前端项目,写了PictureBox展示并上传图片。想删除掉已经展示和上传的图片,提示资源正在使用中不能删除。 查了一些原因,总结原因是PictureBox控件占用着图片资源,不允许删除。 从PictureBox展示图片入手,可以采用以下两个解决办法: 1:使用Bitmap类转接图片资源 Image bmp = new Bitmap(img); this.twoPictureBo

LLM应用实战: 产业治理多标签分类

数据介绍 标签体系 产业治理方面的标签体系共计200+个,每个标签共有4个层级,且第3、4层级有标签含义的概括信息。 原始数据 企业官网介绍数据,包括基本介绍、主要产品等 企业专利数据,包括专利名称和专利摘要信息,且专利的数据量大。 LLM选型 经调研,采用Qwen2-72B-Instruct-GPTQ-Int4量化版本,占用显存更少,且效果与非量化相当,

Vue 向标签中传入 this

我曾经问过 chatgpt 这个问题,chatgpt 说不行! 但是,chatgpt 说的就算吗? 来试试吧: https://andi.cn/page/621733.html 当然是可以的!

SimD:基于相似度距离的小目标检测标签分配

摘要 https://arxiv.org/pdf/2407.02394 由于物体尺寸有限且信息不足,小物体检测正成为计算机视觉领域最具挑战性的任务之一。标签分配策略是影响物体检测精度的关键因素。尽管已经存在一些针对小物体的有效标签分配策略,但大多数策略都集中在降低对边界框的敏感性以增加正样本数量上,并且需要设置一些固定的超参数。然而,更多的正样本并不一定会带来更好的检测结果,事实上,过多的正样本

Winform中在窗体中的Paint事件中重绘会导致递归问题?

在 WinForms 应用程序中,如果在窗体的 Paint 事件处理程序中不断调用 Invalidate 方法,确实可能会导致递归调用的问题。这是因为每次调用 Invalidate 方法时,都会向消息队列添加一个绘制消息,当消息队列中的绘制消息被处理时,会触发 Paint 事件。如果 Paint 事件处理程序中又调用了 Invalidate,就会形成一个循环,导致递归调用 Paint 事件,这