2010-09-03 302 views
3

如何在有人使用類似於的鍵盤快捷鍵時運行某種方法Ctrl + G聽鍵盤快捷鍵(c#)

該應用程序是一個Windows窗體應用程序,我只想在窗體被激活時捕獲它。

+1

關於這是否爲Winforms應用程序,Silverlight,WPF,控制檯應用程序,ASP.NET等的一些暗示有助於 – 2010-09-03 22:15:57

+1

您是否想要執行全局鍵盤掛鉤並攔截任何應用程序中的快捷方式,或僅僅是您的特定應用程序? – 2010-09-03 22:16:20

+0

感謝提示。添加更多詳細信息:) – 2010-09-03 22:19:39

回答

1

查看窗體的Form或KeyPress事件上的OnKeyPress方法。

覆蓋的OnKeyPress在這樣...

protected override void OnKeyPress(KeyPressEventArgs e) { ... } 

...,並期待在KeyPressEventArgs看到被按下哪個鍵,它是否與Ctrl鍵按下。

這SO答案顯示如何使用KeyPress事件...... Test for 'Ctrl' keydown in C#

+0

如果您有使用鍵盤焦點的子控件,這將不起作用。 – Tergiver 2010-09-03 23:39:15

4

鍵盤快捷鍵通常被稱爲「命令鍵」。如果您希望在按鍵處(在您的子控件之前)首先進行破解,則最好的方法是覆蓋表單上的ProcessCmdKey方法。

+0

+1:ProcessCmdKey是一個經常被忽視的重要功能。 – 2010-09-04 03:27:44