封装自定义控件很简单,没什么技术含量,这里通过封装自定义的数字文本框实例简单总结一下:
【1】新建自定义控件库 -- Windows Forms Control Library

【2】添加自定义组件 -- Component Class

【3】继承TextBox,添加KeyPress事件,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
using
System; using
System.Collections.Generic; using
System.ComponentModel; using
System.Diagnostics; using
System.Linq; using
System.Text; using
System.Windows.Forms; namespace
WinForms.SelfControl { ///
<summary> ///
数字文本框 -- 如果生成的Dll在工具箱中导入不了,可以直接将Dll拖入 ///
</summary> public
partial class
TextBoxNumber : TextBox { public
TextBoxNumber() { InitializeComponent(); } public
TextBoxNumber(IContainer container) { container.Add( this ); InitializeComponent(); this .KeyPress
+= TextBoxNumber_KeyPress; } ///
<summary> ///
只能输入数字 ///
</summary> void
TextBoxNumber_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键、Backspace键,则取消该输入 if
( !(Char.IsNumber(e.KeyChar)) && e.KeyChar
!= ( char ) 13
&& e.KeyChar
!= ( char ) 8
) { e.Handled
= true ; }
} } } |
【4】将生成后的Dll添加到工具箱

【5】测试自定义的控件 -- 验证是否只能输入数字

【6】注意问题
必须采用AnyCPU编译,如果生成的Dll导入到工具箱有问题,可以直接将文件拖入。。。
源码:
http://download.csdn.net/detail/aoshilang2249/8172891
来源:CSDN
作者:二月麦苗
链接:https://blog.csdn.net/u012483427/article/details/49465815