(一)c#Winform自定义控件-基类控件

入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。

开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control

如果觉得写的还行,请点个 star 支持一下吧

准备工作

自定义的分为控件和窗体2种类型,分别都有一个基类,基类实现公共的大部分工作

开始

首先从基类控件开始吧,

主要实现功能:

圆角

边框

填充颜色

添加一个用户控件,命名为UCControlBase,写入相关属性,包含圆角角度,边框颜色,边框宽度,填充颜色,背景色等

1 private bool _isRadius = false; 2 3 private int _cornerRadius = 24; 4 5 6 private bool _isShowRect = false; 7 8 private Color _rectColor = Color.FromArgb(220, 220, 220); 9 10 private int _rectWidth = 1; 11 12 private Color _fillColor = Color.Transparent; 13 /// <summary> 14 /// 是否圆角 15 /// </summary> 16 [Description("是否圆角"), Category("自定义")] 17 public bool IsRadius 18 { 19 get 20 { 21 return this._isRadius; 22 } 23 set 24 { 25 this._isRadius = value; 26 } 27 } 28 //圆角角度 29 [Description("圆角角度"), Category("自定义")] 30 public int ConerRadius 31 { 32 get 33 { 34 return this._cornerRadius; 35 } 36 set 37 { 38 this._cornerRadius = value; 39 } 40 } 41 42 /// <summary> 43 /// 是否显示边框 44 /// </summary> 45 [Description("是否显示边框"), Category("自定义")] 46 public bool IsShowRect 47 { 48 get 49 { 50 return this._isShowRect; 51 } 52 set 53 { 54 this._isShowRect = value; 55 } 56 } 57 /// <summary> 58 /// 边框颜色 59 /// </summary> 60 [Description("边框颜色"), Category("自定义")] 61 public Color RectColor 62 { 63 get 64 { 65 return this._rectColor; 66 } 67 set 68 { 69 this._rectColor = value; 70 this.Refresh(); 71 } 72 } 73 /// <summary> 74 /// 边框宽度 75 /// </summary> 76 [Description("边框宽度"), Category("自定义")] 77 public int RectWidth 78 { 79 get 80 { 81 return this._rectWidth; 82 } 83 set 84 { 85 this._rectWidth = value; 86 } 87 } 88 /// <summary> 89 /// 当使用边框时填充颜色,当值为背景色或透明色或空值则不填充 90 /// </summary> 91 [Description("当使用边框时填充颜色,当值为背景色或透明色或空值则不填充"), Category("自定义")] 92 public Color FillColor 93 { 94 get 95 { 96 return this._fillColor; 97 } 98 set 99 { 100 this._fillColor = value; 101 } 102 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwwdy.html