我做了一个计算器,剩下要做的就是让它通过键盘输入起作用。一切正常,直到我进入Enter KeyDown。问题是,当我启动计算器时,会选择一个左上角的按钮,如果按Enter键,它将改为调用该特定按钮的方法(数字7)。看来,如果我完全单击任何按钮,它将被选择,并且如果按Enter,也会发生相同的情况。
我试图将表单设置为acceptButton =“ none”并设置为“ equal_btn”(我的等值按钮,当我按Enter键时我想使用它,但是它没有帮助]]
private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.D0: btn_zero.PerformClick(); /*PerformClick() because all methods are for buttons*/ break; case Keys.D1: btn_one.PerformClick(); break; case Keys.D2: btn_two.PerformClick(); break; /*......*/ case Keys.Oemplus: plus.PerformClick(); break; case Keys.Enter: equal.PerformClick(); break; } }
我期望的是,当我按下Enter键时,将调用Equal方法按钮。而是如前所述,它仅调用出售的按钮。顺便说一句,其他所有按钮都工作正常。
(希望我在StackOverflow上什么都没错过,否则抱歉)
我做了一个计算器,剩下要做的就是让它通过键盘输入起作用。一切正常,直到我进入Enter KeyDown。问题是,当我启动计算器时,... ...>
您可以做的是在Form1_Load
中将焦点更改为其他元素,例如,假设输入等于。您有计算器的地方。像btnEnter.Select();
,这将阻止在按钮中运行该方法。
最终以[[Cais Jard