Разница между Keys.Shift и Keys.ShiftKey - PullRequest
24 голосов
/ 23 июня 2011

В моем приложении я определяю, когда нажата клавиша, и вижу, является ли модификатор клавишей Shift, но в перечислителе ключей есть Shift и ShiftKey.

Кажется, что событие всегда отправляет Keys.Shift, но есть ли случай, когда будет использоваться Keys.ShiftKey?

(и тот же вопрос относится к Keys.Control и Keys.ControlKey)

Спасибо за любой ввод

Ответы [ 2 ]

22 голосов
/ 23 июня 2011

Keys.Shift - это ключ-модификатор (используется для сочетаний клавиш), а Keys.ShiftKey - это обычный код клавиши, как и большинство других в перечислении Keys.

7 голосов
/ 23 июня 2011

Keys.ShiftKey относится к фактической клавише смены, а Keys.Shift относится к самой модификации смены.Keys.ShiftKey может использоваться как другие коды клавиш для проверки нажатий, но вы не можете проверить, была ли нажата Keys.Shift, потому что она представляет состояние, а не объект.Я надеюсь, что это имеет смысл.

Смотрите здесь:

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

...