在C#中,按下回车键而不是点击按钮

3

从标题中可以理解,当您按Enter键时,按钮自动工作,如何在C#中编写代码以按Enter键而不是点击按钮?谢谢!


这是一个WPF应用程序还是Win Forms?你的问题需要提供更多细节。 - Jason Evans
将回车键设置为触发登录按钮。 - user2704193
4个回答

16

这是WinForms吗?如果是的话,你可以将表单的AcceptButton设置为所需的按钮。这样做将使按下Enter键的行为与使用鼠标单击按钮完全相同,但只有在当前聚焦的元素不是其他也会捕获键按下事件的元素时才会产生这种效果。


我希望您也能为面板做到这一点。 - StevenWhite

1

我一直在尝试解决同样的问题。当一个按钮获得焦点时,按下回车键不会触发KeyDown或KeyPress事件。但是,KeyUp事件会触发。问题解决了。

  private void CmdNoP_KeyUp(object sender, KeyEventArgs e) {
     // I do not understand why this works
     if (e.KeyCode == Keys.Return) {
        cmdNoP_MouseClick(sender, null);
     }
  }

0

我相信,[空格]是默认键,它会“点击”活动按钮(或选中复选框等)。您始终可以编写事件的方法,例如OnKeyDownOnKeyUp或类似的方法。在这些事件中,您可以检查按下的键并执行与单击按钮相同的操作,如果该键是[enter]。


0
对于WPF,可以在XAML中设置IsDefault="True",或者使用按钮属性来设置IsDefault复选框。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接