Как добавить дополнительное условие для определенной клавиши клавиатуры в обработчик событий WPF MouseLeftButtonDown?
MouseLeftButtonDown
Например Ctrl + клавиша
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { ... }
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"); } }
Если вы хотите обнаружить только модификаторы, вы также можете использовать:
if (Keyboard.Modifiers == ModifierKeys.Control) {} if (Keyboard.Modifiers == ModifierKeys.Shift) {}
и т.д.. Подробнее здесь .
В .NET 4.0 вы можете использовать:
Keyboard.Modifiers.HasFlag(ModifierKeys.Control)