Условие нажатия клавиши 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)