winforms 当用户从窗体中的任何位置按下“Enter”键时,如何在C# Windows窗体应用程序中触发按钮单击事件?

k2arahey  于 2023-04-21  发布在  C#
关注(0)|答案(1)|浏览(138)

我有一个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(); }
        }

任何帮助都将不胜感激。谢谢!

h5qlskok

h5qlskok1#

您可以重写窗体的ProcessCmdKey或ProcessDialogKey方法,并在那里处理Enter键。

相关问题