2011-04-08 81 views
2

我知道如何獲得在C#中按下哪個修飾鍵,但我不知道如何才能真正檢查是否按下了任何修飾鍵。我需要在KeyUp事件中檢查它,是否有可能以其他方式執行諸如if(e.KeyCode != Keys.Control && e.KeyCode != Keys.Alt && ...)之類的操作?謝謝。確定修改鍵是否被按下

回答

8
if ((Control.ModifierKeys & Keys.Shift) != 0) 

將幫助您檢測修飾鍵(例如CTRL轉變)是否被按下。 檢查下面的帖子以供參考:

How to detect the currently pressed key?

+0

用正確的「&」運算符替換「&&」運算符。 (「Error:Operator'&&'不能應用於'System.Windows.Forms.Keys'和'System.Windows.Forms.Keys'類型的操作數) – AnAurelian 2012-11-22 12:29:04

1

KeyEventArgs類具有您可以查看屬性。例如,要查看是否按下Alt鍵,你可以寫:

if (e.Alt) 
{ 
    // Alt key was pressed 
} 
1

,以確保沒有修改鍵被按下就可以檢查是否ModifierKey等於Keys.None。

if (ModifierKeys == Keys.None) ...