需要对tabcontrol按照美工出的图进行美化

对tabpage页进行标题设置,首先对整个tabcontrol的DrawMode设置为OwnerDrawFixed,由于需要对标题宽度有要求,设置sizemode为fixed,可以对itemsize调整,设置标题的宽和高,然后进行写事件就能实现

 private void tb_DrawItem(object sender, DrawItemEventArgs e){StringFormat sf = new StringFormat();#region 头背景sf.LineAlignment = StringAlignment.Center;sf.Alignment = StringAlignment.Center;Rectangle rec = tb.ClientRectangle;//获取背景图片,我的背景图片在项目资源文件中。Image backImage = Properties.Resources.pop_tab1_2;e.Graphics.DrawImage(backImage, 0, 2, tb.Width, tb.ItemSize.Height + 2);#endregion#region  设置选择的标签的背景if (e.Index == tb.SelectedIndex)e.Graphics.DrawImage(Properties.Resources.pop_tab1_1, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);elsee.Graphics.DrawImage(Properties.Resources.pop_tab1_2, e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height);e.Graphics.DrawString(((TabControl)sender).TabPages[e.Index].Text,System.Windows.Forms.SystemInformation.MenuFont, new SolidBrush(Color.Black), e.Bounds, sf);#endregion#region 重写标签名ColorConverter colorConverter = new ColorConverter();Color cwhite = (Color)colorConverter.ConvertFromString("#2178ba");SolidBrush white = new SolidBrush(cwhite);Rectangle rect0 = tb.GetTabRect(0);StringFormat stringFormat = new StringFormat();stringFormat.Alignment = StringAlignment.Center;stringFormat.LineAlignment = StringAlignment.Center;
       e.Graphics.DrawString("申请单号", new Font("微软雅黑", 12), white, rect0, stringFormat);
           #endregion}

转载于:https://www.cnblogs.com/JohnnyBao/p/4402871.html

Winform 中tabcontrol 美化相关推荐

  1. WPF TabControl 美化

    转载来源:http://www.cnblogs.com/xling/p/3595602.html WPF TabControl 美化 文章很详细的说明了怎么做的美化  只是在学习过程中没有代码下载让人 ...

  2. 【WinForm】DotNetBar2美化

    原文地址:[WinForm]DotNetBar2美化 作者:我不知道 从网上下载的DevComponents.DotNetBar2.dll文件,按照老方法保存在bin/debug文件夹下 1.单击项目 ...

  3. 在winform中从外部拖动节点到树形结构(treeview和listview相互拖动)(一)

    最近一个项目要用到从listview向treeview拖动item,达到从外部拖动图标成为树形结构的一部分,通过查阅资料总结了一些实现方式,分享给大家.这是winform中的例子. 在进行拖放操作之前 ...

  4. C# winform中MouseDoubleClick与DoubleClick的区别

    C# winform中MouseDoubleClick与DoubleClick的区别是 MouseDoubleClick:只能用鼠标双击 DoubleClick:可以按键盘的回车键

  5. C#在WinForm中实现清空指定类型控件的内容

    实现在Winform中递归控件来清空指定类型控件的内容(因为在Winform中,各个控件是有层次关系的,不能简单地依靠遍历this.controls) private void ClearConten ...

  6. winform中构造函数与Form_Load

    不都是用来初始化form中的组件么? public Form()所谓的构造函数. Form_Load所谓的窗体加载函数 完全两码事! WinForm 中的 Form_Load函数和他的构造函数 pub ...

  7. .NET WinForm中给DataGridView自定义ToolTip并设置ToolTip的样式

    .NET WinForm中的DataGridView为程序开发提供了诸多的便利,我们不需要做许多额外的工作就可以获得一些基础功能,例如点击列标题排序.行选择功能.改变列宽和行宽,以及单元格内容的自动T ...

  8. 怎样正确处理WinForm中Listview的ItemCheck事件

    我很少写具体的对象应用心得,这次尝试一下. WinForm中Listview的ItemCheck事件,例子如下:   private void lvwTables_ItemCheck(object s ...

  9. 把控制台程序嵌入到 WinForm 中执行

    我们经常有一些用控制台实现的简单应用,这种应用一般都是一步一步"向导"式执行,在每一步上收集用户的输入,最后得到程序执行的结果.但有些用户可能不喜欢用键盘操作的命令行界面,还是愿意 ...

  10. WinForm中的MVC模式--MVP模式

    本文主要介绍MVC模式在WINFORM中的实现,其实砖家们都称它为MVP模式,小弟E文不太好,真的是记不住那个P怎么拼写的.. MVC模式主要解决的问题就是将表示层和业务层进行分离,在以往做WINFO ...

最新文章

  1. git修改远程仓库地址
  2. vue2.0 rem运行环境搭建
  3. python中的format函数_python中的format 函数是什么?如何使用?
  4. servlet之控制分发
  5. AlphaFold和RoseTTAFold双剑合璧,成功预测蛋白质复合体结构,北大校友领衔登上Science...
  6. [Leetcode][第557题][JAVA][反转字符串中的单词 III][遍历][String函数]
  7. jq之$(“p:first“)
  8. 美团技术:复杂环境下落地 Service Mesh 的挑战与实践
  9. openGauss凝聚创新力量,云和恩墨MogDB加速社区发展
  10. linux安装mysql默认的配置文件_[转]关于Linux安装mysql默认配置文件位置
  11. 基于Android平台的简易人脸检测库
  12. [转载] 用python写的一个简单的记事本
  13. HTTP 权威指南 详解 (推荐阅读 )
  14. WSO2流处理器相关学习(1)快速入门指南【转】
  15. 免费谷歌云服务器,极简到手指南
  16. django后台管理界面美化
  17. UVA 12304 /// 圆的综合题 圆的模板
  18. Windows下磁盘配额的使用量问题
  19. linkerd mysql_纠错帖:Zuul Spring Cloud Gateway Linkerd性能对比
  20. libVLC 事件机制

热门文章

  1. iOS开发之字符串(NSString)的截取的几种方法
  2. MAC电脑Command键怎么调换为Control键
  3. M1 Mac禁用电池运行状况管理,打开/关闭优化电池和充电方法有哪些?
  4. 如何查找识别苹果无线鼠标/无线键盘/触控板的设备序列号
  5. 云原生生态周报 Vol. 3 | Java 8 ❤️ Docker
  6. BZOJ 3329 Xorequ 数字DP+矩阵乘法
  7. Web应用程序的目录结构
  8. 程序开发中大写YYYY与小写yyyy的区别
  9. 牛逼!用 MySQL 实现一个分布式锁,这也太强了。。。
  10. 稳的一比,鸿蒙系统霸榜Github!