Panel添加边框颜色和边框粗细调整

Panel控件添加边框颜色

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 - JiYF - 博客园 (cnblogs.com)

1.新建一个用户控件的项目,如下:

2.添加一个Panel容器到用户控件中,Panel属性Dock设置为全填充Fill,背景色设置为白色

3.给这个用户控件添加一个边框颜色的属性,代码如下:

 1         private Color _BoarderColor = Color.LimeGreen;//设置一个初始的边框颜色
 2 
 3         [Browsable(true), Description("边框颜色"), Category("自定义分组")]//1.设置控件属性是否可见;2.控件属性描述;3.类别分组

4 public Color BoarderColor//边框颜色 5 { 6 get 7 { 8 return _BoarderColor; 9 } 10 set 11 { 12 _BoarderColor = value; 13 } 14 }

4.添加边框粗细调整属性

 1         private int _BoarderSize = 2;//初始边框粗细
 2 
 3         [Browsable(true), Description("边框粗细"), Category("自定义分组")]//功能如上
 4         public int BoarderSize//边框粗细
 5         {
 6             get
 7             {
 8                 return _BoarderSize;
 9             }
10             set
11             {
12                 _BoarderSize = value;
13             }
14         }

5.关键代码,我们在上面已经给这个用户控件设置了两个属性,那我们怎么让这两个属性更改的时候使控件改变呢,这里用到Panel的一个重新绘制Paint的事件,代码如下:

 1         private void panel1_Paint(object sender, PaintEventArgs e)//Panel的重绘事件
 2         {
 3             ControlPaint.DrawBorder(e.Graphics,//获取进行绘制的图形
 4                                           this.ClientRectangle,//绘制控件所在工作区域
 5                                           this._BoarderColor,//边框颜色
 6                                          this._BoarderSize,//边框粗细
 7                                          ButtonBorderStyle.Solid,//边框类型,选择实线边框,也有虚线等种类;下面这四个重复的传参是设置工作区上下左右边框的功能
 8                                          this._BoarderColor,//
 9                                          this._BoarderSize,//
10                                          ButtonBorderStyle.Solid,
11                                         this._BoarderColor,
12                                          this._BoarderSize,
13                                          ButtonBorderStyle.Solid,
14                                          this._BoarderColor,
15                                          this._BoarderSize,
16                                          ButtonBorderStyle.Solid);
17         }

5.生成我们的用户控件,创建一个Winform窗体用来测试我们的控件。如下:

posted @ 2021-08-18 13:06  田宏伟_thw  阅读(3885)  评论(0编辑  收藏  举报