2012-08-27 74 views
0

我得到了一個小問題,我只是無法弄清楚:ModifierKeys.None無法正常工作。 ctrl + add觸發器「ctrl + add」和「add」

我想要兩種不同的鍵盤快捷方式工作。一個是ctrl+add,另一個是add。問題是,每當我按ctrl+addadd命令也執行。

我用下面的代碼試了一下(我用KeyDown事件):

if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Add) 
     something(); 

if (Keyboard.Modifiers == ModifierKeys.None && e.Key == Key.Add) 
     someOther(); 
+0

我最後做了以下內容:我設置e.Handled爲真在帶有控制修飾符的命令中,而在另一個命令中,我將「&&!e.Handled」添加到了if括號....是否是正確的方法? – ch40s

+0

您的示例代碼可能更緊湊,但它應該按預期工作。無需設置e.Handled。 – Clemens

+0

它怎麼會更緊湊呢:)?並沒有設置e.Handled它總是執行一些事情()和someOther()時按Ctrl +添加,當只有東西()被想要執行... – ch40s

回答

1

你可以這樣寫:

if (e.Key == Key.Add) 
{ 
    if (Keyboard.Modifiers == ModifierKeys.Control) 
    { 
     something(); 
    } 
    else if (Keyboard.Modifiers == ModifierKeys.None) 
    { 
     someOther(); 
    } 
} 
+0

謝謝:)這種方式,它的工作原理 – ch40s