【问题标题】:Handling Keyboard at Form level在表单级别处理键盘
【发布时间】:2009-10-24 02:48:31
【问题描述】:

我有一个带有几个特殊控件的表单,它是我的应用程序的主窗口。我想在我的应用程序运行时捕获所有按键,在表单级别,而不是在焦点控件或类似的东西上。在 WinForms 中执行此操作的标准方法是什么?

【问题讨论】:

标签: c# winforms


【解决方案1】:

设置 Form.PreviewKeys = true,则获得所有键盘事件。

【讨论】:

  • 这很好用。我刚刚覆盖了 ProcessCmdKey 事件,它似乎有效。
  • 只要表单中没有其他控件侦听相同的键,就可以工作。例如,如果您试图在表单级别捕获 F2,但又将 F2 定义为 ToolStripMenuItem 的快捷方式,那么两者都不会得到它们。
【解决方案2】:

将表单的 KeyPreview 属性设置为 true,然后处理其中一个按键事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    相关资源
    最近更新 更多