以Windows窗体(C#)输入键盘输入

问题描述 投票:0回答:1

我做了一个计算器,剩下要做的就是让它通过键盘输入起作用。一切正常,直到我进入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。问题是,当我启动计算器时,... ...>

c# winforms calculator keyboard-events
1个回答
0
投票

您可以做的是在Form1_Load中将焦点更改为其他元素,例如,假设输入等于。您有计算器的地方。像btnEnter.Select();,这将阻止在按钮中运行该方法。

最终以[[Cais Jard

© www.soinside.com 2019 - 2024. All rights reserved.