入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。
GitHub:https://github.com/kwwwvagaa/NetWinformControl
码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git
如果觉得写的还行,请点个 star 支持一下吧
https://www.cnblogs.com/bfyx/p/11364884.html
GDI+需要有一点了解,不知道的可以百度瞅瞅
添加一个用户控件,命名UCSwitch
添加一个枚举用以控制样式
1 public enum SwitchType
2 {
3 /// <summary>
4 /// 椭圆
5 /// </summary>
6 Ellipse,
7 /// <summary>
8 /// 四边形
9 /// </summary>
10 Quadrilateral,
11 /// <summary>
12 /// 横线
13 /// </summary>
14 Line
15 }
添加属性
1 [Description("选中改变事件"), Category("自定义")]
2 public event EventHandler CheckedChanged;
3 private Color m_trueColor = Color.FromArgb(34, 163, 169);
4
5 [Description("选中时颜色"), Category("自定义")]
6 public Color TrueColor
7 {
8 get { return m_trueColor; }
9 set
10 {
11 m_trueColor = value;
12 Refresh();
13 }
14 }
15
16 private Color m_falseColor = Color.FromArgb(111, 122, 126);
17
18 [Description("没有选中时颜色"), Category("自定义")]
19 public Color FalseColor
20 {
21 get { return m_falseColor; }
22 set
23 {
24 m_falseColor = value;
25 Refresh();
26 }
27 }
28
29 private bool m_checked;
30
31 [Description("是否选中"), Category("自定义")]
32 public bool Checked
33 {
34 get { return m_checked; }
35 set
36 {
37 m_checked = value;
38 Refresh();
39 if (CheckedChanged != null)
40 {
41 CheckedChanged(this, null);
42 }
43 }
44 }
45
46 private string[] m_texts;
47
48 [Description("文本值,当选中或没有选中时显示,必须是长度为2的数组"), Category("自定义")]
49 public string[] Texts
50 {
51 get { return m_texts; }
52 set
53 {
54 m_texts = value;
55 Refresh();
56 }
57 }
58 private SwitchType m_switchType = SwitchType.Ellipse;
59
60 [Description("显示类型"), Category("自定义")]
61 public SwitchType SwitchType
62 {
63 get { return m_switchType; }
64 set
65 {
66 m_switchType = value;
67 Refresh();
68 }
69 }
70
71 public override Font Font
72 {
73 get
74 {
75 return base.Font;
76 }
77 set
78 {
79 base.Font = value;
80 Refresh();
81 }
82 }
重绘
1 protected override void OnPaint(PaintEventArgs e)
2 {
3 base.OnPaint(e);
4 var g = e.Graphics;
5 g.SetGDIHigh();
6 if (m_switchType == HZH_Controls.Controls.SwitchType.Ellipse)
7 {
8 var fillColor = m_checked ? m_trueColor : m_falseColor;
9 GraphicsPath path = new GraphicsPath();
10 path.AddLine(new Point(this.Height / 2, 1), new Point(this.Width - this.Height / 2, 1));
11 path.AddArc(new Rectangle(this.Width - this.Height - 1, 1, this.Height - 2, this.Height - 2), -90, 180);
12 path.AddLine(new Point(this.Width - this.Height / 2, this.Height - 1), new Point(this.Height / 2, this.Height - 1));
13 path.AddArc(new Rectangle(1, 1, this.Height - 2, this.Height - 2), 90, 180);
14 g.FillPath(new SolidBrush(fillColor), path);
15
16 string strText = string.Empty;
17 if (m_texts != null && m_texts.Length == 2)
18 {
19 if (m_checked)
20 {
21 strText = m_texts[0];
22 }
23 else
24 {
25 strText = m_texts[1];
26 }
27 }
28
29 if (m_checked)
30 {
31 g.FillEllipse(Brushes.White, new Rectangle(this.Width - this.Height - 1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
32 if (string.IsNullOrEmpty(strText))
33 {
34 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
35 }
36 else
37 {
38 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
39 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
40 g.DrawString(strText, Font, Brushes.White, new Point((this.Height - 2 - 4) / 2, intTextY));
41 }
42 }
43 else
44 {
45 g.FillEllipse(Brushes.White, new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
46 if (string.IsNullOrEmpty(strText))
47 {
48 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
49 }
50 else
51 {
52 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
53 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
54 g.DrawString(strText, Font, Brushes.White, new Point(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - (int)sizeF.Width / 2, intTextY));
55 }
56 }
57 }
58 else if (m_switchType == HZH_Controls.Controls.SwitchType.Quadrilateral)
59 {
60 var fillColor = m_checked ? m_trueColor : m_falseColor;
61 GraphicsPath path = new GraphicsPath();
62 int intRadius = 5;
63 path.AddArc(0, 0, intRadius, intRadius, 180f, 90f);
64 path.AddArc(this.Width - intRadius - 1, 0, intRadius, intRadius, 270f, 90f);
65 path.AddArc(this.Width - intRadius - 1, this.Height - intRadius - 1, intRadius, intRadius, 0f, 90f);
66 path.AddArc(0, this.Height - intRadius - 1, intRadius, intRadius, 90f, 90f);
67
68 g.FillPath(new SolidBrush(fillColor), path);
69
70 string strText = string.Empty;
71 if (m_texts != null && m_texts.Length == 2)
72 {
73 if (m_checked)
74 {
75 strText = m_texts[0];
76 }
77 else
78 {
79 strText = m_texts[1];
80 }
81 }
82
83 if (m_checked)
84 {
85 GraphicsPath path2 = new GraphicsPath();
86 path2.AddArc(this.Width - this.Height - 1 + 2, 1 + 2, intRadius, intRadius, 180f, 90f);
87 path2.AddArc(this.Width - 1 - 2 - intRadius, 1 + 2, intRadius, intRadius, 270f, 90f);
88 path2.AddArc(this.Width - 1 - 2 - intRadius, this.Height - 2 - intRadius - 1, intRadius, intRadius, 0f, 90f);
89 path2.AddArc(this.Width - this.Height - 1 + 2, this.Height - 2 - intRadius - 1, intRadius, intRadius, 90f, 90f);
90 g.FillPath(Brushes.White, path2);
91
92 if (string.IsNullOrEmpty(strText))
93 {
94 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
95 }
96 else
97 {
98 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
99 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
100 g.DrawString(strText, Font, Brushes.White, new Point((this.Height - 2 - 4) / 2, intTextY));
101 }
102 }
103 else
104 {
105 GraphicsPath path2 = new GraphicsPath();
106 path2.AddArc(1 + 2, 1 + 2, intRadius, intRadius, 180f, 90f);
107 path2.AddArc(this.Height - 2 - intRadius, 1 + 2, intRadius, intRadius, 270f, 90f);
108 path2.AddArc(this.Height - 2 - intRadius, this.Height - 2 - intRadius - 1, intRadius, intRadius, 0f, 90f);
109 path2.AddArc(1 + 2, this.Height - 2 - intRadius - 1, intRadius, intRadius, 90f, 90f);
110 g.FillPath(Brushes.White, path2);
111
112 //g.FillEllipse(Brushes.White, new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
113 if (string.IsNullOrEmpty(strText))
114 {
115 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
116 }
117 else
118 {
119 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
120 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
121 g.DrawString(strText, Font, Brushes.White, new Point(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - (int)sizeF.Width / 2, intTextY));
122 }
123 }
124 }
125 else
126 {
127 var fillColor = m_checked ? m_trueColor : m_falseColor;
128 int intLineHeight = (this.Height - 2 - 4) / 2;
129
130 GraphicsPath path = new GraphicsPath();
131 path.AddLine(new Point(this.Height / 2, (this.Height - intLineHeight) / 2), new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2));
132 path.AddArc(new Rectangle(this.Width - this.Height / 2 - intLineHeight - 1, (this.Height - intLineHeight) / 2, intLineHeight, intLineHeight), -90, 180);
133 path.AddLine(new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2 + intLineHeight), new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2 + intLineHeight));
134 path.AddArc(new Rectangle(this.Height / 2, (this.Height - intLineHeight) / 2, intLineHeight, intLineHeight), 90, 180);
135 g.FillPath(new SolidBrush(fillColor), path);
136
137 if (m_checked)
138 {
139 g.FillEllipse(new SolidBrush(fillColor), new Rectangle(this.Width - this.Height - 1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
140 g.FillEllipse(Brushes.White, new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - 4, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
141 }
142 else
143 {
144 g.FillEllipse(new SolidBrush(fillColor), new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
145 g.FillEllipse(Brushes.White, new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 + 4, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
146 }
147 }
148 }
处理一下点击事件
1 void UCSwitch_MouseDown(object sender, MouseEventArgs e)
2 {
3 Checked = !Checked;
4 }
完整代码
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Linq;
7 using System.Text;
8 using System.Windows.Forms;
9 using System.Drawing.Drawing2D;
10
11 namespace HZH_Controls.Controls
12 {
13 [DefaultEvent("CheckedChanged")]
14 public partial class UCSwitch : UserControl
15 {
16 [Description("选中改变事件"), Category("自定义")]
17 public event EventHandler CheckedChanged;
18 private Color m_trueColor = Color.FromArgb(34, 163, 169);
19
20 [Description("选中时颜色"), Category("自定义")]
21 public Color TrueColor
22 {
23 get { return m_trueColor; }
24 set
25 {
26 m_trueColor = value;
27 Refresh();
28 }
29 }
30
31 private Color m_falseColor = Color.FromArgb(111, 122, 126);
32
33 [Description("没有选中时颜色"), Category("自定义")]
34 public Color FalseColor
35 {
36 get { return m_falseColor; }
37 set
38 {
39 m_falseColor = value;
40 Refresh();
41 }
42 }
43
44 private bool m_checked;
45
46 [Description("是否选中"), Category("自定义")]
47 public bool Checked
48 {
49 get { return m_checked; }
50 set
51 {
52 m_checked = value;
53 Refresh();
54 if (CheckedChanged != null)
55 {
56 CheckedChanged(this, null);
57 }
58 }
59 }
60
61 private string[] m_texts;
62
63 [Description("文本值,当选中或没有选中时显示,必须是长度为2的数组"), Category("自定义")]
64 public string[] Texts
65 {
66 get { return m_texts; }
67 set
68 {
69 m_texts = value;
70 Refresh();
71 }
72 }
73 private SwitchType m_switchType = SwitchType.Ellipse;
74
75 [Description("显示类型"), Category("自定义")]
76 public SwitchType SwitchType
77 {
78 get { return m_switchType; }
79 set
80 {
81 m_switchType = value;
82 Refresh();
83 }
84 }
85
86 public override Font Font
87 {
88 get
89 {
90 return base.Font;
91 }
92 set
93 {
94 base.Font = value;
95 Refresh();
96 }
97 }
98
99
100 public UCSwitch()
101 {
102 InitializeComponent();
103 this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
104 this.SetStyle(ControlStyles.DoubleBuffer, true);
105 this.SetStyle(ControlStyles.ResizeRedraw, true);
106 this.SetStyle(ControlStyles.Selectable, true);
107 this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
108 this.SetStyle(ControlStyles.UserPaint, true);
109 this.MouseDown += UCSwitch_MouseDown;
110 }
111
112 void UCSwitch_MouseDown(object sender, MouseEventArgs e)
113 {
114 Checked = !Checked;
115 }
116
117 protected override void OnPaint(PaintEventArgs e)
118 {
119 base.OnPaint(e);
120 var g = e.Graphics;
121 g.SetGDIHigh();
122 if (m_switchType == HZH_Controls.Controls.SwitchType.Ellipse)
123 {
124 var fillColor = m_checked ? m_trueColor : m_falseColor;
125 GraphicsPath path = new GraphicsPath();
126 path.AddLine(new Point(this.Height / 2, 1), new Point(this.Width - this.Height / 2, 1));
127 path.AddArc(new Rectangle(this.Width - this.Height - 1, 1, this.Height - 2, this.Height - 2), -90, 180);
128 path.AddLine(new Point(this.Width - this.Height / 2, this.Height - 1), new Point(this.Height / 2, this.Height - 1));
129 path.AddArc(new Rectangle(1, 1, this.Height - 2, this.Height - 2), 90, 180);
130 g.FillPath(new SolidBrush(fillColor), path);
131
132 string strText = string.Empty;
133 if (m_texts != null && m_texts.Length == 2)
134 {
135 if (m_checked)
136 {
137 strText = m_texts[0];
138 }
139 else
140 {
141 strText = m_texts[1];
142 }
143 }
144
145 if (m_checked)
146 {
147 g.FillEllipse(Brushes.White, new Rectangle(this.Width - this.Height - 1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
148 if (string.IsNullOrEmpty(strText))
149 {
150 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
151 }
152 else
153 {
154 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
155 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
156 g.DrawString(strText, Font, Brushes.White, new Point((this.Height - 2 - 4) / 2, intTextY));
157 }
158 }
159 else
160 {
161 g.FillEllipse(Brushes.White, new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
162 if (string.IsNullOrEmpty(strText))
163 {
164 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
165 }
166 else
167 {
168 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
169 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
170 g.DrawString(strText, Font, Brushes.White, new Point(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - (int)sizeF.Width / 2, intTextY));
171 }
172 }
173 }
174 else if (m_switchType == HZH_Controls.Controls.SwitchType.Quadrilateral)
175 {
176 var fillColor = m_checked ? m_trueColor : m_falseColor;
177 GraphicsPath path = new GraphicsPath();
178 int intRadius = 5;
179 path.AddArc(0, 0, intRadius, intRadius, 180f, 90f);
180 path.AddArc(this.Width - intRadius - 1, 0, intRadius, intRadius, 270f, 90f);
181 path.AddArc(this.Width - intRadius - 1, this.Height - intRadius - 1, intRadius, intRadius, 0f, 90f);
182 path.AddArc(0, this.Height - intRadius - 1, intRadius, intRadius, 90f, 90f);
183
184 g.FillPath(new SolidBrush(fillColor), path);
185
186 string strText = string.Empty;
187 if (m_texts != null && m_texts.Length == 2)
188 {
189 if (m_checked)
190 {
191 strText = m_texts[0];
192 }
193 else
194 {
195 strText = m_texts[1];
196 }
197 }
198
199 if (m_checked)
200 {
201 GraphicsPath path2 = new GraphicsPath();
202 path2.AddArc(this.Width - this.Height - 1 + 2, 1 + 2, intRadius, intRadius, 180f, 90f);
203 path2.AddArc(this.Width - 1 - 2 - intRadius, 1 + 2, intRadius, intRadius, 270f, 90f);
204 path2.AddArc(this.Width - 1 - 2 - intRadius, this.Height - 2 - intRadius - 1, intRadius, intRadius, 0f, 90f);
205 path2.AddArc(this.Width - this.Height - 1 + 2, this.Height - 2 - intRadius - 1, intRadius, intRadius, 90f, 90f);
206 g.FillPath(Brushes.White, path2);
207
208 if (string.IsNullOrEmpty(strText))
209 {
210 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
211 }
212 else
213 {
214 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
215 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
216 g.DrawString(strText, Font, Brushes.White, new Point((this.Height - 2 - 4) / 2, intTextY));
217 }
218 }
219 else
220 {
221 GraphicsPath path2 = new GraphicsPath();
222 path2.AddArc(1 + 2, 1 + 2, intRadius, intRadius, 180f, 90f);
223 path2.AddArc(this.Height - 2 - intRadius, 1 + 2, intRadius, intRadius, 270f, 90f);
224 path2.AddArc(this.Height - 2 - intRadius, this.Height - 2 - intRadius - 1, intRadius, intRadius, 0f, 90f);
225 path2.AddArc(1 + 2, this.Height - 2 - intRadius - 1, intRadius, intRadius, 90f, 90f);
226 g.FillPath(Brushes.White, path2);
227
228 //g.FillEllipse(Brushes.White, new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
229 if (string.IsNullOrEmpty(strText))
230 {
231 g.DrawEllipse(new Pen(Color.White, 2), new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
232 }
233 else
234 {
235 System.Drawing.SizeF sizeF = g.MeasureString(strText.Replace(" ", "A"), Font);
236 int intTextY = (this.Height - (int)sizeF.Height) / 2 + 2;
237 g.DrawString(strText, Font, Brushes.White, new Point(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - (int)sizeF.Width / 2, intTextY));
238 }
239 }
240 }
241 else
242 {
243 var fillColor = m_checked ? m_trueColor : m_falseColor;
244 int intLineHeight = (this.Height - 2 - 4) / 2;
245
246 GraphicsPath path = new GraphicsPath();
247 path.AddLine(new Point(this.Height / 2, (this.Height - intLineHeight) / 2), new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2));
248 path.AddArc(new Rectangle(this.Width - this.Height / 2 - intLineHeight - 1, (this.Height - intLineHeight) / 2, intLineHeight, intLineHeight), -90, 180);
249 path.AddLine(new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2 + intLineHeight), new Point(this.Width - this.Height / 2, (this.Height - intLineHeight) / 2 + intLineHeight));
250 path.AddArc(new Rectangle(this.Height / 2, (this.Height - intLineHeight) / 2, intLineHeight, intLineHeight), 90, 180);
251 g.FillPath(new SolidBrush(fillColor), path);
252
253 if (m_checked)
254 {
255 g.FillEllipse(new SolidBrush(fillColor), new Rectangle(this.Width - this.Height - 1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
256 g.FillEllipse(Brushes.White, new Rectangle(this.Width - 2 - (this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 - 4, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
257 }
258 else
259 {
260 g.FillEllipse(new SolidBrush(fillColor), new Rectangle(1 + 2, 1 + 2, this.Height - 2 - 4, this.Height - 2 - 4));
261 g.FillEllipse(Brushes.White, new Rectangle((this.Height - 2 - 4) / 2 - ((this.Height - 2 - 4) / 2) / 2 + 4, (this.Height - 2 - (this.Height - 2 - 4) / 2) / 2 + 1, (this.Height - 2 - 4) / 2, (this.Height - 2 - 4) / 2));
262 }
263 }
264 }
265
266 }
267
268 public enum SwitchType
269 {
270 /// <summary>
271 /// 椭圆
272 /// </summary>
273 Ellipse,
274 /// <summary>
275 /// 四边形
276 /// </summary>
277 Quadrilateral,
278 /// <summary>
279 /// 横线
280 /// </summary>
281 Line
282 }
283 }
1 namespace HZH_Controls.Controls
2 {
3 partial class UCSwitch
4 {
5 /// <summary>
6 /// 必需的设计器变量。
7 /// </summary>
8 private System.ComponentModel.IContainer components = null;
9
10 /// <summary>
11 /// 清理所有正在使用的资源。
12 /// </summary>
13 /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
14 protected override void Dispose(bool disposing)
15 {
16 if (disposing && (components != null))
17 {
18 components.Dispose();
19 }
20 base.Dispose(disposing);
21 }
22
23 #region 组件设计器生成的代码
24
25 /// <summary>
26 /// 设计器支持所需的方法 - 不要
27 /// 使用代码编辑器修改此方法的内容。
28 /// </summary>
29 private void InitializeComponent()
30 {
31 this.SuspendLayout();
32 //
33 // UCSwitch
34 //
35 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
36 this.BackColor = System.Drawing.Color.Transparent;
37 this.Name = "UCSwitch";
38 this.Size = new System.Drawing.Size(83, 31);
39 this.ResumeLayout(false);
40
41 }
42
43 #endregion
44 }
45 }
如果你喜欢的话,请到 https://gitee.com/kwwwvagaa/net_winform_custom_control 点个星 星吧