如何禁用回车键

时间:2019-02-12 14:07:38

标签: c# winforms

我正在Visual Studio c#WinForms中制作一个答题器游戏,当您单击按钮一次后,您可以按住Enter键以赚钱,我想禁用它。

3 个答案:

答案 0 :(得分:2)

Assuming,您正在使用WinForms作为GUI框架,只需添加以下一行代码:

this.Focus();

在按钮末尾单击事件处理程序。

现在,它有什么作用?好吧,当您单击WinForms中的任何内容时,该元素将获得焦点,如果Button具有焦点,则按Enter意味着将其激活。通过执行this.Focus();,我们将焦点重新设置为“表单”而不是“按钮”

答案 1 :(得分:1)

根据要捕获事件的位置,在按钮内还是必须“拦截”要查找的键

    if (e.KeyChar== 13 )
{
// Do something else or nothing
}

See: Ascii table

13 =回车

答案 2 :(得分:0)

您可以将添加资金的事件从“ this.keyDown”更改为“ this.KeyUp”。 这样一来,只有在释放按钮后(第一次按下后),事件才会触发。这使得按住“输入”按钮无效,因为您必须在发生某些事情之前将其释放。

这仍然允许玩家仅敲击“ enter”键而不是快速单击,但这可能值得考虑,因为此方法不会完全禁用“ enter”键