C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法
1.新建组件这里可以自定义一个Panel控件起名为PanelEx

2.增加一个BoderColor属性和BoderSize属性
1 1 private Color _BorderColor = Color.Black; 2 2 3 3 [Browsable(true), Description("边框颜色"), Category("自定义分组")] 4 4 public Color BorderColor 5 5 { 6 6 get { return _BorderColor; } 7 7 set 8 8 { 9 9 _BorderColor = value; 1010 this.Invalidate(); 1111 } 1212 } 1313 1414 private int _BorderSize = 1; 1515 1616 [Browsable(true), Description("边框粗细"), Category("自定义分组")] 1717 public int BorderSize 1818 { 1919 get { return _BorderSize; } 2020 set 2121 { 2222 _BorderSize = value; 2323 this.Invalidate(); 2424 } 2525 }
3.控件代码继承Panel并重写OnPaint方法
1 1 /// <summary> 2 2 /// 重写OnPaint方法 3 3 /// </summary> 4 4 /// <param name="e"></param> 5 5 protected override void OnPaint(PaintEventArgs e) 6 6 { 7 7 ControlPaint.DrawBorder(e.Graphics, 8 8 this.ClientRectangle, 9 9 this._BorderColor, 1010 this._BorderSize, 1111 ButtonBorderStyle.Solid, 1212 this._BorderColor, 1313 this._BorderSize, 1414 ButtonBorderStyle.Solid, 1515 this._BorderColor, 1616 this._BorderSize, 1717 ButtonBorderStyle.Solid, 1818 this._BorderColor, 1919 this._BorderSize, 2020 ButtonBorderStyle.Solid); 2121 }
4.添加测试窗体并添加PanelEx控件
编译运行测试
