Touche Ctrl enfoncée appuyez sur la condition dans WPF MouseLeftButtonDown de gestionnaire d'événements

comment ajouter une condition supplémentaire pour une certaine touche de clavier, à un WPF MouseLeftButtonDown gestionnaire d'événements?

Par exemple Ctrl +

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{         
    ...
}
34
demandé sur Ivar 2009-12-07 19:40:57

3 réponses

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");
    }
}
62
répondu Stanislav Kniazev 2017-11-05 21:45:10

Si vous voulez détecter des modificateurs seulement, vous pouvez également utiliser:

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

etc. Plus d' ici.

39
répondu 742 2010-05-11 08:52:43

.NET 4.0, vous pouvez utiliser:

Keyboard.Modifiers.HasFlag(ModifierKeys.Control)
6
répondu Grzegorz Godlewski 2015-12-10 09:47:57