2009-12-07 6 views

Répondre

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

Si vous voulez détecter les modificateurs uniquement, vous pouvez également utiliser:

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

etc. Plus here.

+0

Cette solution est plus simple –

+6

Ne pas oublier que 'ModifierKeys' est un ENUM de drapeau. Donc, vérifier correctement pour ctrl appuyez sur 'if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) {}' –

4

Dans .NET 4.0, vous pouvez utiliser:

Keyboard.Modifiers.HasFlag(ModifierKeys.Control) 
Questions connexes