如何在计算器中使用Enter键as =按钮

时间:2013-11-03 11:14:51

标签: c# .net winforms

我想在计算器中使用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)调用将被触发。

我需要做些什么来改变这项工作?

3 个答案:

答案 0 :(得分:3)

您只需将表单的AcceptButton属性设置为btnequal即可。这应该给你想要的行为(当在该表单上输入时调用btnequal_click get。)。

只要您的表单未使用ShowDialog打开,就会在您点击“接受”后关闭。

答案 1 :(得分:2)

好的,即使我们对这段代码没有任何线索,请允许我提供一些指导。将KeyPreview的{​​{1}}属性设置为Form。这将确保您获得所有关键事件。

接下来,处理表单的trueKeyDown事件,并将代码放在那里。

我建议使用KeyUp,因为如果按住键,则会复制KeyUp

最后您需要的是:

KeyDown

答案 2 :(得分:0)

由于OP表示他们正在使用KeyPress事件(或暗示),我将尝试遵循这一点。事实上,我最近编写了一个完全相同的计算器。这是我的代码:

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
        btnequal.PerformClick();
}

请注意,我使用了PerformClick函数,因为我发现它更简单。另外,正如neoistheone所提到的,请确保将Form KeyPreview设置为true!