我有一个C# Windows窗体应用程序,其中包括一个文本框控件和一个按钮控件。我希望允许用户在文本框中按下“Enter”键来触发按钮单击事件,即使文本框没有焦点(即没有首先单击文本框)。
我试过使用文本框的KeyDown、KeyUp和KeyPress事件,按钮甚至Form控件来处理“Enter”键的按下,但当文本框没有焦点时,它们似乎都不起作用。我还试过将文本框的AcceptsReturn属性设置为false以禁用“Enter”键的默认行为,但这似乎没有什么区别。
问题是,如果我使用另一个键,它与Form_KeyDown一起工作,但只要我尝试使用Enter,它每次都会关闭应用程序,而不会关注TextBox
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { BtnEquals.PerformClick(); }
}
任何帮助都将不胜感激。谢谢!
1条答案
按热度按时间h5qlskok1#
您可以重写窗体的ProcessCmdKey或ProcessDialogKey方法,并在那里处理Enter键。