在 Windows 窗体中输入键盘输入 (C#)
Enter keyboard input in Windows Form (C#)
我制作了一个计算器,唯一剩下要做的就是让它通过键盘输入工作。在我进入 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 方法。相反,如前所述,它只调用选定的按钮。
顺便说一句,所有其他按钮都可以正常工作。
(希望我没有在 Whosebug 上遗漏任何内容,否则抱歉)
您可以在 Form1_Load
中将焦点更改为其他元素,例如,我假设您输入的是等号。你有计算器的地方。
像 btnEnter.Select();
什么会阻止 运行 按钮中的那个方法。
最后更改 Tab 键顺序,因为 Cais Jard 说你有两个选择,一个在文件 Form1.designer.cs
中,在初始化组件中你有所有按钮等等 然后你有他们这样列出 this.buttonXX.TabIndex = 0;
只需更改为你想要的。
另一个更改 tabindex
的选项是在元素的属性中。基本上,转到设计器,单击元素并在子菜单 behavior
中按 F4
您可以选择 tabindex
我制作了一个计算器,唯一剩下要做的就是让它通过键盘输入工作。在我进入 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 方法。相反,如前所述,它只调用选定的按钮。 顺便说一句,所有其他按钮都可以正常工作。
(希望我没有在 Whosebug 上遗漏任何内容,否则抱歉)
您可以在 Form1_Load
中将焦点更改为其他元素,例如,我假设您输入的是等号。你有计算器的地方。
像 btnEnter.Select();
什么会阻止 运行 按钮中的那个方法。
最后更改 Tab 键顺序,因为 Cais Jard 说你有两个选择,一个在文件 Form1.designer.cs
中,在初始化组件中你有所有按钮等等 然后你有他们这样列出 this.buttonXX.TabIndex = 0;
只需更改为你想要的。
另一个更改 tabindex
的选项是在元素的属性中。基本上,转到设计器,单击元素并在子菜单 behavior
中按 F4
您可以选择 tabindex