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