Определить, была ли нажата клавиша-модификатор - PullRequest
2 голосов
/ 08 апреля 2011

Я знаю, как узнать, какая клавиша-модификатор была нажата в C #, но я не знаю, как на самом деле проверить, была ли нажата какая-либо клавиша-модификатор. Мне нужно проверить это в KeyUp событии, возможно ли это как-то иначе, чем if(e.KeyCode != Keys.Control && e.KeyCode != Keys.Alt && ...)? Спасибо.

Ответы [ 3 ]

9 голосов
/ 08 апреля 2011
if ((Control.ModifierKeys & Keys.Shift) != 0) 

поможет вам определить, была ли нажата клавиша-модификатор (например, ctrl или shift ). Проверьте сообщение ниже для справки:

Как определить текущую нажатую клавишу?

2 голосов
/ 03 декабря 2015

Чтобы убедиться, что ни одна клавиша-модификатор не нажата, вы можете проверить, равен ли ModifierKey Keys.None.

if (ModifierKeys == Keys.None) ...
1 голос
/ 08 апреля 2011

Класс KeyEventArgs имеет свойства, которые вы можете проверить.Например, чтобы увидеть, была ли нажата клавиша Alt, вы можете написать:

if (e.Alt)
{
    // Alt key was pressed
}
...