2009-10-24 65 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,然後處理其中一個按鍵事件。