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