2009-12-07 58 views

回答

60
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { 
    if(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) { 
     MessageBox.Show("Control key is down"); 
    } else { 
     MessageBox.Show("Control key is up"); 
    } 
} 
37

如果你想只检测改性剂,还可以使用:

if (Keyboard.Modifiers == ModifierKeys.Control) {} 
if (Keyboard.Modifiers == ModifierKeys.Shift) {} 

等更多here

+0

该解决方案是简单 – 2015-01-03 02:13:05

+6

不要忘了'ModifierKeys'是一个标志枚举。所以,正确检查按Ctrl是'if((Keyboard.Modifiers&ModifierKeys.Control)== ModifierKeys.Control){}' – 2015-10-22 14:21:52

4

在.NET 4.0中,你可以使用:

Keyboard.Modifiers.HasFlag(ModifierKeys.Control)