2012-04-30 77 views
5

我想檢測何時在WPF應用程序中按下組合鍵Ctrl-C。我已經看了網上說使用的東西就像在KeyDown(或KEYUP)事件中:檢測組合鍵

if ((Keyboard.Modifiers == ModifierKeys.Control) && (e.Key == Key.S)) 
{ 
    MessageBox.Show("Save!"); 
} 

我只是想了解如何工作的。據我瞭解,e.Key包含被觸發事件的按鍵,並且Keyboard.Modifiers包含有關控制鍵現在的狀態的信息。假設在KeyDown事件得到處理的時候Control鍵仍然會關閉是否安全?

例如,我重新啓動Firefox,它磨碎了加載一堆選項卡,同時我在我的應用程序中按Ctrl-S。進入KeyDown有延遲,應用程序認爲只是S被按下了。

感謝

回答

3

你可以使用KeyBindings相反,他們定義的手勢完全沒有這樣的分離。