[英]How to use the Enter key as = button in calculator
我想在计算器中使用Enter键作为=
,并且插入了代码,该代码检查用户是否按了窗体按键中的Enter键,但是此if
语句中的代码永远不会评估为true
:
if (e.KeyChar == (char)Keys.Return || e.KeyChar == (char)13 || e.KeyChar == '\r')
btnequal_click(null,null);
当用户按下Enter键时,应该触发btnequal_click(null,null)
调用。
要进行这项工作,我需要更改什么?
您可以简单地将表单的AcceptButton
属性设置为btnequal
。 这应该给你想要的行为(在该表单上按回车btnequal_click
会调用btnequal_click
get)。
只要您的表单没有使用ShowDialog
打开,在您单击“ accept”后它就不会关闭。
好的,即使我们不知道这段代码在哪里,也让我提供一些指导。 将Form
的KeyPreview
属性设置为true
。 这将确保您获得所有关键事件。
接下来,处理窗体的KeyDown
或KeyUp
事件,并将代码放在其中。
我建议使用KeyUp
因为如果按下该键,则会复制KeyDown
。
最后,您所需要做的就是:
if (e.KeyChar == (char)Keys.Return)
btnequal_click(null,null);
由于OP表示他们正在使用KeyPress事件(或暗示该事件),所以我将尝试遵循。 事实上,我最近编写了一个完全一样的计算器。 这是我的代码:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
btnequal.PerformClick();
}
请注意,我使用了PerformClick函数,因为发现它更简单。 另外,正如neoistheone所述,请确保将Form KeyPreview设置为true!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.