效果图如下:
代码如下: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
转载于:https://www.cnblogs.com/winnxm/archive/2007/09/29/911198.html
本文介绍了一个自定义键盘控件的设计与实现过程,通过C#语言创建了一个带有数字键和其他功能键的用户控件,并详细展示了如何通过事件处理来响应按键操作。此外,还提供了一个使用示例,说明了如何将输入的键值显示到文本框中。





}
}
2261

被折叠的 条评论
为什么被折叠?



