2009-10-24 48 views
2

我有一个窗体,上面有几个特殊控件,这是我的应用程序的主窗口。我想在应用程序运行时捕捉所有按键,而不是集中控制或其他类似的东西。在WinForms中执行此操作的标准方法是什么?在表单级别处理键盘

+0

看看这个: http://stackoverflow.com/questions/400113/best-way-to-implement-keyboard-shortcuts-in-winforms – 2009-10-24 02:52:22

回答

3

set Form.PreviewKeys = true,那么你得到所有的键盘事件。

+0

这工作正常。我只是覆盖了ProcessCmdKey事件,它似乎工作。 – captncraig 2009-10-24 03:00:16

+0

只要在监听相同密钥的表单中没有其他控件,就可以使用。例如,如果您试图在表单级别捕获F2,但也将F2定义为ToolStripMenuItem的快捷方式,则两者都不会获取它们。 – 2017-07-21 17:55:40

1

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