Я знаю, как узнать, какая клавиша-модификатор была нажата в C #, но не знаю, как проверить, была ли нажата какая-либо клавиша-модификатор. Мне нужно проверить это в событии KeyUp
, возможно ли это иначе, чем сделать что-то вроде if(e.KeyCode != Keys.Control && e.KeyCode != Keys.Alt && ...)
? Спасибо.
Определите, была ли нажата клавиша-модификатор
Ответы (3)
if ((Control.ModifierKeys & Keys.Shift) != 0)
поможет вам определить, была ли нажата клавиша-модификатор (например, ctrl или shift). Проверьте сообщение ниже для справки:
Как определить нажатую клавишу?
person
reggie
schedule
08.04.2011
Замените оператор && правильным оператором &. (Ошибка: оператор '&&' нельзя применить к операндам типа 'System.Windows.Forms.Keys' и 'System.Windows.Forms.Keys')
- person Alex Vang; 22.11.2012
Чтобы убедиться, что клавиша-модификатор не нажата, вы можете проверить, равно ли ModifierKey Keys.None.
if (ModifierKeys == Keys.None) ...
person
caycothu
schedule
03.12.2015
Класс KeyEventArgs имеет свойства, которые вы можете проверить. . Например, чтобы узнать, была ли нажата клавиша Alt, вы можете написать:
if (e.Alt)
{
// Alt key was pressed
}
person
Jim Mischel
schedule
08.04.2011