2

正如您从标题中可以理解的那样,当您按下 Enter 键时,按钮会自动工作,如何在 c# 中编写代码来按下 Enter 键而不是单击按钮?谢谢!!

4

3 回答 3

16

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

于 2013-09-30T11:22:12.463 回答
1

我一直在尝试解决同样的问题。当按钮具有焦点时,按 Enter 键不会触发 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);
     }
  }
于 2017-02-26T14:38:53.420 回答
0

我相信, [space] 是默认键,它将“单击”活动按钮(或选中复选框等)。您始终可以为或类似OnKeyDown的事件编写方法。OnKeyUp在这些事件中,您可以检查按下的键并执行,如果此键为 [enter],则单击按钮正在做什么。

于 2013-09-30T11:22:52.813 回答