【发布时间】:2017-02-24 15:35:35
【问题描述】:
我正在使用 C# Windows 窗体编写一个计算器。我想听数字键并在变量名中具有相同数字的 Button 上执行Button.PerformClick()。我的按钮以图案命名:btn1、btn2、btn3 等。
我的代码:
switch (c) //c is the KeyChar Value of the pressed Key
{
case '1':
{
btn1.PerformClick();
break;
}
case '2':
{
btn2.PerformClick();
break;
}
case '3':
{
btn3.PerformClick();
break;
}
...
case '9':
{
btn3.PerformClick();
break;
}
}
有没有比一遍又一遍地复制所有内容 9 次更好的代码方式?我试过以下(没用):
foreach(Button btn in this.Controls){
if(btn.Text == c.ToString) //c is the KeyChar value
{
btn.PerformClick();
}
}
我做错了什么还是有更好/更顺畅的方法来做这件事,还是我必须像以前那样做?
【问题讨论】:
标签: c# winforms button keylistener