2

对于某种输入形式,我想让键盘输入成为可能。我知道如何通过 KeyPressed 和 KeyUp 读取键,但问题是当控件获得焦点并且用户按下 Enter 键时,该控件会收到 Click 事件。是否可以防止这种行为?或者是否有可能知道鼠标或键盘是否触发了 Click 事件?

4

3 回答 3

2

这有帮助吗?来自Microsoft 知识库

将 Button 的代码从 button.Click() 移动到 button.MouseClick()

于 2008-11-24T09:30:09.717 回答
2

如果你能描述你想要的情况和确切的行为,这会更容易...... :)

您可以设置:

Form.KeyPreview = True

这会首先将 Key Events 发送到 Form,然后再发送到 Control。这使您有机会在表单上捕获关键事件并“取消”它们:

e.Handled = True

更多信息

还要确保您没有为表单设置 AcceptButton!

于 2008-11-24T09:58:15.370 回答
0

您还可以侦听键盘事件并过滤掉键。

于 2008-11-24T09:33:31.003 回答