KeyEventArgs.KeyData, KeyEventArgs.KeyCode и KeyEventArgs.Значения
у меня есть вопрос о KeyEventArgs ' s KeyCode и KeyData и KeyValue.
KeyCode и Keydata являются ключами типа, но я не знаю, в чем разница между ними. Для KeyValue, Я не знаю, что это такое-у него есть int type, возвращает ли он char значение нажатой клавиши?
у меня нет большого опыта работы с ключевыми событиями; любое объяснение того, как они функционируют и как их использовать, было бы весьма полезно.
1 ответов
KeyCode содержит данные для ключа, который произвел KeyUp или KeyDown событие. KeyData содержит комбинацию этой клавиши вместе с CTRL, SHIFT или ALT, если какой-либо из них был нажат.
пример:
- нажмите (и удерживайте) CTRL.
KeyDownбудет поднят,KeyCodeбудетKeys.ControlKey,KeyDataбудетKeys.ControlKey | Keys.Control. - удерживая нажатой клавишу CTRL, нажмите клавишу SHIFT.
KeyDownбудет поднят,KeyCodeбудетKeys.ShiftKeyиKeyDataбудетKeys.ShifKey | Keys.Shift | Keys.Control.
отметим, что KeyData и KeyCode может содержать любое значение Keys перечисление (например,Keys.A, Keys.NumPad4 или Keys.Up). Обратите внимание, что при нажатии одной из клавиш-модификаторов она представлена двумя значениями в KeyData (один для ключа и один для значения модификатора). Модификаторы также доступны через Modifiers собственность.
KeyValue возвращает числовое значение, представляющее ключ, по сути, целое число, представляющее значение KeyCode.