Получение состояний shift/ctrl/alt из события мыши?
В моем приложении WPF
, как мне получить состояние ключей shift, ctrl и alt в обработчике событий мыши? Я, кажется, помню, в MFC
вы могли получить эту информацию из события мыши.
Ответы
Ответ 1
Предполагая, что вы все еще находитесь в обработчике событий мыши, вы можете проверить значение Keyboard.Modifiers. Я не думаю, что в любом случае вы получите информацию о модификаторе из самого события, поэтому вам нужно напрямую допросить клавиатуру.
Ответ 2
В соответствии с ответом Энди вы используете Keyboard.Modifiers. Я подумал, что отправлю небольшой пример
Что-то вроде этого в вашем обработчике событий должно работать:
private void MyExampleButton_Click(object sender, RoutedEventArgs e)
{
if ((Keyboard.Modifiers & ModifierKeys.Control) > 0) {
System.Diagnostics.Debug.WriteLine("Control is pressed");
} else {
System.Diagnostics.Debug.WriteLine("Control is NOT pressed");
}
}
С уважением,
Mike