Подтвердить что ты не робот

Условие нажатия клавиши Ctrl в WPF MouseLeftButtonDown обработчик событий

Как я могу добавить дополнительное условие для определенной клавиши клавиатуры к WPF MouseLeftButtonDown обработчику событий?

Например Ctrl + key

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{         
    ...
}
4b9b3361

Ответ 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)