繁体   English   中英

如何在计算器中将Enter键用作=按钮

[英]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”后它就不会关闭。

好的,即使我们不知道这段代码在哪里,也让我提供一些指导。 FormKeyPreview属性设置为true 这将确保您获得所有关键事件。

接下来,处理窗体的KeyDownKeyUp事件,并将代码放在其中。

我建议使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM