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窗體用來測試我們的控件。如下: