C# WinForm窗体控件GroupBox修改边框颜色控件
C# WinForm窗体控件GroupBox修改边框颜色控件
1.新建组件这里可以自定义一个GroupBox控件起名为GroupBoxEx
2.增加一个BoderColor属性
1 private Color _BorderColor = Color.Black; 2 3 [Browsable(true),Description("边框颜色"),Category("自定义分组")] 4 public Color BorderColor 5 { 6 get { return _BorderColor; } 7 set 8 { 9 _BorderColor = value; 10 this.Invalidate(); 11 } 12 }
3.控件代码继承GroupBox
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Diagnostics; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace ControlLibrary 11 { 12 public partial class GroupBoxEx : GroupBox 13 { 14 private Color _BorderColor = Color.Black; 15 16 [Browsable(true),Description("边框颜色"),Category("自定义分组")] 17 public Color BorderColor 18 { 19 get { return _BorderColor; } 20 set 21 { 22 _BorderColor = value; 23 this.Invalidate(); 24 } 25 } 26 27 public GroupBoxEx() 28 { 29 InitializeComponent(); 30 } 31 32 public GroupBoxEx(IContainer container) 33 { 34 container.Add(this); 35 36 InitializeComponent(); 37 } 38 39 /// <summary> 40 /// 重写Onpaint 41 /// </summary> 42 /// <param name="e"></param> 43 protected override void OnPaint(PaintEventArgs e) 44 { 45 //base.OnPaint(e); 46 var vSize = e.Graphics.MeasureString(this.Text,this.Font); 47 48 e.Graphics.Clear(this.BackColor); 49 e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), 10, 1); 50 Pen vPen = new Pen(this._BorderColor); 51 e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 8, vSize.Height / 2); 52 e.Graphics.DrawLine(vPen, vSize.Width + 8, vSize.Height / 2, this.Width - 2, vSize.Height / 2); 53 e.Graphics.DrawLine(vPen, 1, vSize.Height / 2, 1, this.Height - 2); 54 e.Graphics.DrawLine(vPen, 1, this.Height - 2, this.Width - 2, this.Height - 2); 55 e.Graphics.DrawLine(vPen, this.Width - 2, vSize.Height / 2, this.Width - 2, this.Height - 2); 56 } 57 } 58 }
4.添加测试窗体并添加GroupBoxEx控件
编译运行
源代码工程文件下载
分类:
03C#语言开发以及相关技术
标签:
GroupBox控件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?