一个数字键盘的自定义控件[原创]
效果图如下:
代码如下:
1public partial class mycontrol_ : UserControl
2 {
3 public mycontrol_()
4 {
5 InitializeComponent();
6 }
7 public event EventHandler KeyOneClicked;
8
9 private string currentKey;
10 public string CurrentKey
11 {
12 set { currentKey = value; }
13 get { return currentKey; }
14 }
15 private void btnNumberkkk_Click(object sender, EventArgs e)
16 {
17 if (KeyOneClicked != null)
18 {
19 string delimStr = ":";
20 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
21 currentKey = msg[1];
22 KeyOneClicked(this, e);
23 }
24 }
25 private void btnNumber1_Click(object sender, EventArgs e)
26 {
27 if (KeyOneClicked != null)
28 {
29 string delimStr = ":";
30 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
31 currentKey = msg[1];
32 KeyOneClicked(this, e);
33 }
34 }
35 private void btnNumber2_Click(object sender, EventArgs e)
36 {
37 if (KeyOneClicked != null)
38 {
39 string delimStr = ":";
40 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
41 currentKey = msg[1];
42 KeyOneClicked(this, e);
43 }
44 }
45 private void btnNumber3_Click(object sender, EventArgs e)
46 {
47 if (KeyOneClicked != null)
48 {
49 string delimStr = ":";
50 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
51 currentKey = msg[1];
52 KeyOneClicked(this, e);
53 }
54 }
55 private void btnNumber4_Click(object sender, EventArgs e)
56 {
57 if (KeyOneClicked != null)
58 {
59 string delimStr = ":";
60 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
61 currentKey = msg[1];
62 KeyOneClicked(this, e);
63 }
64 }
65 private void btnNumber5_Click(object sender, EventArgs e)
66 {
67 if (KeyOneClicked != null)
68 {
69 string delimStr = ":";
70 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
71 currentKey = msg[1];
72 KeyOneClicked(this, e);
73 }
74 }
75 private void btnNumber6_Click(object sender, EventArgs e)
76 {
77 if (KeyOneClicked != null)
78 {
79 string delimStr = ":";
80 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
81 currentKey = msg[1];
82 KeyOneClicked(this, e);
83 }
84 }
85 private void btnNumber7_Click(object sender, EventArgs e)
86 {
87 if (KeyOneClicked != null)
88 {
89 string delimStr = ":";
90 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
91 currentKey = msg[1];
92 KeyOneClicked(this, e);
93 }
94 }
95 private void btnNumber8_Click(object sender, EventArgs e)
96 {
97 if (KeyOneClicked != null)
98 {
99 string delimStr = ":";
100 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
101 currentKey = msg[1];
102 KeyOneClicked(this, e);
103 }
104 }
105 private void btnNumber9_Click(object sender, EventArgs e)
106 {
107 if (KeyOneClicked != null)
108 {
109 string delimStr = ":";
110 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
111 currentKey = msg[1];
112 KeyOneClicked(this, e);
113 }
114 }
115 private void btnNumber0_Click(object sender, EventArgs e)
116 {
117 if (KeyOneClicked != null)
118 {
119 string delimStr = ":";
120 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
121 currentKey = msg[1];
122 KeyOneClicked(this, e);
123 }
124 }
125 private void btnNumber00_Click(object sender, EventArgs e)
126 {
127 if (KeyOneClicked != null)
128 {
129 string delimStr = ":";
130 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
131 currentKey = msg[1];
132 KeyOneClicked(this, e);
133 }
134 }
135 private void btnDot_Click(object sender, EventArgs e)
136 {
137 if (KeyOneClicked != null)
138 {
139 string delimStr = ":";
140 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
141 currentKey = msg[1];
142 KeyOneClicked(this, e);
143 }
144 }
145 private void btnBackSpace_Click(object sender, EventArgs e)
146 {
147 if (KeyOneClicked != null)
148 {
149 string delimStr = ":";
150 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
151 currentKey = msg[1];
152 KeyOneClicked(this, e);
153 }
154 }
155 private void btnCancel_Click(object sender, EventArgs e)
156 {
157 if (KeyOneClicked != null)
158 {
159 string delimStr = ":";
160 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
161 currentKey = msg[1];
162 KeyOneClicked(this, e);
163 }
164 }
165 private void btnEnter_Click(object sender, EventArgs e)
166 {
167 if (KeyOneClicked != null)
168 {
169 string delimStr = ":";
170 string[] msg = sender.ToString().Split(delimStr.ToCharArray());
171 currentKey = msg[1];
172 KeyOneClicked(this, e);
173 }
174 }
175 }
176}
177
178
举例用法:
1private void keyBoard1_KeyOneClicked(object sender, EventArgs e)
2 {
3 switch (this.keyBoard1.CurrentKey.Trim())
4 {
5 case "1":
6 case "2":
7 case "3":
8 case "4":
9 case "5":
10 case "6":
11 case "7":
12 case "8":
13 case "9":
14 case "0":
15 case "00":
16 case ".":
17 this.textBox1.Text += this.keyBoard1.CurrentKey.Trim();
18 break;
19 case "←":
20 if (this.textBox1.Text.Length > 1)
21 {
22 this.textBox1.Text = this.textBox1.Text.Substring(0, this.textBox1.Text.Length - 1);
23 }
24 break;
25 case "取消":
26 this.textBox1.Text = string.Empty;
27 break;
28 case "确\n认":
29 //进行认证
30 if (this.textBox1.Text.IndexOf(".", 0, this.textBox1.Text.Length) > 0)
31 {
32 MessageBox.Show("your input is wrong ");
33 }
34 else
35 {
36 MessageBox.Show("your input is int ");
37 }
38 break;
39 default:
40 break;
41 }
42 }
43