Keys Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает коды ключей и модификаторы.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class Keys
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))]
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum Keys
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))]
[System.Flags]
public enum Keys
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))>]
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Keys =
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))>]
[<System.Flags>]
type Keys =
Public Enum Keys
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| Modifiers | -65536 | Битовая маска для извлечения модификаторов из значения ключа. |
| None | 0 | Нет нажатия клавиши. |
| LButton | 1 | Левая кнопка мыши. |
| RButton | 2 | Правая кнопка мыши. |
| Cancel | 3 | Ключ CANCEL. |
| MButton | 4 | Средняя кнопка мыши (три кнопки мыши). |
| XButton1 | 5 | Первая кнопка мыши x (мышь с пятью кнопками). |
| XButton2 | 6 | Вторая кнопка мыши x (мышь с пятью кнопками). |
| Back | 8 | Ключ BACKSPACE. |
| Tab | 9 | Клавиша TAB. |
| LineFeed | 10 | Ключ LINEFEED. |
| Clear | 12 | Ключ CLEAR. |
| Enter | 13 | Клавиша ВВОД. |
| Return | 13 | Ключ RETURN. |
| ShiftKey | 16 | Клавиша SHIFT. |
| ControlKey | 17 | Клавиша CTRL. |
| Menu | 18 | Клавиша ALT. |
| Pause | 19 | Клавиша PAUSE. |
| Capital | 20 | Ключ CAPS LOCK. |
| CapsLock | 20 | Ключ CAPS LOCK. |
| HanguelMode | 21 | Ключ режима IME Hanguel. (поддерживается для совместимости; использование |
| HangulMode | 21 | Ключ режима IME Hangul. |
| KanaMode | 21 | Ключ режима IME Kana. |
| JunjaMode | 23 | Ключ режима IME Junja. |
| FinalMode | 24 | Ключ окончательного режима IME. |
| HanjaMode | 25 | Ключ режима IME Hanja. |
| KanjiMode | 25 | Ключ режима IME Kanji. |
| Escape | 27 | Клавиша ESC. |
| IMEConvert | 28 | Ключ преобразования IME. |
| IMENonconvert | 29 | Неконвертный ключ IME. |
| IMEAccept | 30 | IME принимает ключ, заменяет IMEAceept. |
| IMEAceept | 30 | IME принимает ключ. Устаревшее, используйте IMEAccept вместо этого. |
| IMEModeChange | 31 | Ключ изменения режима IME. |
| Space | 32 | Клавиша SPACEBAR. |
| PageUp | 33 | Клавиша PAGE UP. |
| Prior | 33 | Клавиша PAGE UP. |
| Next | 34 | Клавиша PAGE DOWN. |
| PageDown | 34 | Клавиша PAGE DOWN. |
| End | 35 | Ключ END. |
| Home | 36 | Ключ HOME. |
| Left | 37 | Клавиша СТРЕЛКА ВЛЕВО. |
| Up | 38 | Клавиша СТРЕЛКА ВВЕРХ. |
| Right | 39 | Клавиша СТРЕЛКА ВПРАВО. |
| Down | 40 | Клавиша СТРЕЛКА ВНИЗ. |
| Select | 41 | Ключ SELECT. |
| 42 | Ключ PRINT. |
|
| Execute | 43 | Ключ EXECUTE. |
| PrintScreen | 44 | Клавиша PRINT SCREEN. |
| Snapshot | 44 | Клавиша PRINT SCREEN. |
| Insert | 45 | Ключ INS. |
| Delete | 46 | Ключ DEL. |
| Help | 47 | Ключ HELP. |
| D0 | 48 | Клавиша 0. |
| D1 | 49 | Клавиша 1. |
| D2 | 50 | Клавиша 2. |
| D3 | 51 | Клавиша 3. |
| D4 | 52 | 4 клавиши. |
| D5 | 53 | Клавиша 5. |
| D6 | 54 | 6 клавиш. |
| D7 | 55 | Клавиша 7. |
| D8 | 56 | Клавиша 8. |
| D9 | 57 | Клавиша 9. |
| A | 65 | Ключ A. |
| B | 66 | Клавиша B. |
| C | 67 | Ключ C. |
| D | 68 | Клавиша D. |
| E | 69 | Клавиша E. |
| F | 70 | Клавиша F. |
| G | 71 | Клавиша G. |
| H | 72 | Ключ H. |
| I | 73 | Клавиша I. |
| J | 74 | Ключ J. |
| K | 75 | Клавиша K. |
| L | 76 | Ключ L. |
| M | 77 | Клавиша M. |
| N | 78 | Клавиша N. |
| O | 79 | Клавиша O. |
| P | 80 | Ключ P. |
| Q | 81 | Ключ Q. |
| R | 82 | Ключ R. |
| S | 83 | Ключ S. |
| T | 84 | Клавиша T. |
| U | 85 | Ключ U. |
| V | 86 | Клавиша V. |
| W | 87 | Клавиша W. |
| X | 88 | Клавиша X. |
| Y | 89 | Ключ Y. |
| Z | 90 | Клавиша Z. |
| LWin | 91 | Левая Windows клавиша с логотипом (Microsoft естественной клавиатуры). |
| RWin | 92 | Правый Windows клавиша логотипа (Microsoft естественной клавиатуры). |
| Apps | 93 | Клавиша приложения (Microsoft естественной клавиатуры). |
| Sleep | 95 | Ключ спящего режима компьютера. |
| NumPad0 | 96 | Ключ 0 на числовой клавиатуре. |
| NumPad1 | 97 | 1 ключ на числовой клавиатуре. |
| NumPad2 | 98 | 2 клавиши на числовой клавиатуре. |
| NumPad3 | 99 | 3 клавиши на числовой клавиатуре. |
| NumPad4 | 100 | 4 клавиша на числовой клавиатуре. |
| NumPad5 | 101 | 5 клавиш на числовой клавиатуре. |
| NumPad6 | 102 | 6 клавиш на числовой клавиатуре. |
| NumPad7 | 103 | 7 клавиш на числовой клавиатуре. |
| NumPad8 | 104 | 8 клавиш на числовой клавиатуре. |
| NumPad9 | 105 | 9 клавиша на числовой клавиатуре. |
| Multiply | 106 | Умножение ключа. |
| Add | 107 | Ключ добавления. |
| Separator | 108 | Ключ разделителя. |
| Subtract | 109 | Вычитание ключа. |
| Decimal | 110 | Десятичный ключ. |
| Divide | 111 | Ключ деления. |
| F1 | 112 | Клавиша F1. |
| F2 | 113 | Клавиша F2. |
| F3 | 114 | Клавиша F3. |
| F4 | 115 | Клавиша F4. |
| F5 | 116 | Клавиша F5. |
| F6 | 117 | Клавиша F6. |
| F7 | 118 | Клавиша F7. |
| F8 | 119 | Клавиша F8. |
| F9 | 120 | Клавиша F9. |
| F10 | 121 | Клавиша F10. |
| F11 | 122 | Клавиша F11. |
| F12 | 123 | Клавиша F12. |
| F13 | 124 | Клавиша F13. |
| F14 | 125 | Клавиша F14. |
| F15 | 126 | Клавиша F15. |
| F16 | 127 | Клавиша F16. |
| F17 | 128 | Клавиша F17. |
| F18 | 129 | Клавиша F18. |
| F19 | 130 | Ключ F19. |
| F20 | 131 | Клавиша F20. |
| F21 | 132 | Ключ F21. |
| F22 | 133 | Ключ F22. |
| F23 | 134 | Ключ F23. |
| F24 | 135 | Клавиша F24. |
| NumLock | 144 | Ключ NUM LOCK. |
| Scroll | 145 | Клавиша SCROLL LOCK. |
| LShiftKey | 160 | Клавиша SHIFT слева. |
| RShiftKey | 161 | Правый клавиша SHIFT. |
| LControlKey | 162 | Левая клавиша CTRL. |
| RControlKey | 163 | Правый клавиша CTRL. |
| LMenu | 164 | Левый клавиша ALT. |
| RMenu | 165 | Правый клавиша ALT. |
| BrowserBack | 166 | Ключ обратной части браузера. |
| BrowserForward | 167 | Ключ пересылки браузера. |
| BrowserRefresh | 168 | Ключ обновления браузера. |
| BrowserStop | 169 | Ключ остановки браузера. |
| BrowserSearch | 170 | Ключ поиска браузера. |
| BrowserFavorites | 171 | Ключ избранного браузера. |
| BrowserHome | 172 | Ключ домашнего браузера. |
| VolumeMute | 173 | Ключ выключения тома. |
| VolumeDown | 174 | Ключ уменьшения громкости. |
| VolumeUp | 175 | Ключ вверх по тому. |
| MediaNextTrack | 176 | Следующий ключ отслеживания мультимедиа. |
| MediaPreviousTrack | 177 | Предыдущий ключ отслеживания мультимедиа. |
| MediaStop | 178 | Клавиша "Остановить носитель". |
| MediaPlayPause | 179 | Клавиша приостановки воспроизведения мультимедиа. |
| LaunchMail | 180 | Ключ почты запуска. |
| SelectMedia | 181 | Выбор ключа мультимедиа. |
| LaunchApplication1 | 182 | Начальный ключ приложения. |
| LaunchApplication2 | 183 | Начальное приложение два ключа. |
| Oem1 | 186 | Ключ OEM 1. |
| OemSemicolon | 186 | Клавиша С запятой OEM на стандартной клавиатуре США. |
| Oemplus | 187 | Клавиша OEM плюс на любой клавиатуре страны или региона. |
| Oemcomma | 188 | Клавиша запятой OEM на любой клавиатуре страны или региона. |
| OemMinus | 189 | Клавиша OEM минус на любой клавиатуре страны или региона. |
| OemPeriod | 190 | Клавиша периода OEM на любой клавиатуре страны или региона. |
| Oem2 | 191 | Ключ OEM 2. |
| OemQuestion | 191 | Ключ вопросительного знака OEM на стандартной клавиатуре США. |
| Oem3 | 192 | Ключ OEM 3. |
| Oemtilde | 192 | Клавиша OEM tilde на стандартной клавиатуре США. |
| Oem4 | 219 | Ключ OEM 4. |
| OemOpenBrackets | 219 | Клавиша OEM с открытой скобкой на стандартной клавиатуре США. |
| Oem5 | 220 | Ключ OEM 5. |
| OemPipe | 220 | Клавиша конвейера OEM на стандартной клавиатуре США. |
| Oem6 | 221 | Ключ OEM 6. |
| OemCloseBrackets | 221 | Клавиша OEM закрывает скобку на стандартной клавиатуре США. |
| Oem7 | 222 | Ключ OEM 7. |
| OemQuotes | 222 | Одинарный или двойной кавычки OEM на стандартной клавиатуре США. |
| Oem8 | 223 | Ключ OEM 8. |
| Oem102 | 226 | Ключ OEM 102. |
| OemBackslash | 226 | Угловая скобка OEM или клавиша обратной косой черты на клавиатуре клавиши RT 102. |
| ProcessKey | 229 | Ключ PROCESS KEY. |
| Packet | 231 | Используется для передачи символов Юникода, как если бы они были нажатиями клавиш. Значение ключа пакета — это низкое слово 32-разрядного значения виртуального ключа, используемого для методов ввода без клавиатуры. |
| Attn | 246 | Ключ ATTN. |
| Crsel | 247 | Ключ CRSEL. |
| Exsel | 248 | Ключ EXSEL. |
| EraseEof | 249 | Ключ ERASE EOF. |
| Play | 250 | Ключ PLAY. |
| Zoom | 251 | Ключ ZOOM. |
| NoName | 252 | Константы, зарезервированные для будущего использования. |
| Pa1 | 253 | Ключ PA1. |
| OemClear | 254 | Ключ CLEAR. |
| KeyCode | 65535 | Битовая маска для извлечения кода ключа из значения ключа. |
| Shift | 65536 | Клавиша модификатора SHIFT. |
| Control | 131072 | Клавиша модификатора CTRL. |
| Alt | 262144 | Клавиша модификатора ALT. |
Примеры
В следующем примере кода событие используется KeyDown для определения типа символа, введенного в элемент управления.
// Boolean flag used to determine when a character other than a number is entered.
private:
bool nonNumberEntered;
// Handle the KeyDown event to determine the type of character entered into the control.
void textBox1_KeyDown( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
{
// Initialize the flag to false.
nonNumberEntered = false;
// Determine whether the keystroke is a number from the top of the keyboard.
if ( e->KeyCode < Keys::D0 || e->KeyCode > Keys::D9 )
{
// Determine whether the keystroke is a number from the keypad.
if ( e->KeyCode < Keys::NumPad0 || e->KeyCode > Keys::NumPad9 )
{
// Determine whether the keystroke is a backspace.
if ( e->KeyCode != Keys::Back )
{
// A non-numerical keystroke was pressed.
// Set the flag to true and evaluate in KeyPress event.
nonNumberEntered = true;
}
}
}
//If shift key was pressed, it's not a number.
if (Control::ModifierKeys == Keys::Shift) {
nonNumberEntered = true;
}
}
// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
void textBox1_KeyPress( Object^ /*sender*/, System::Windows::Forms::KeyPressEventArgs^ e )
{
// Check for the flag being set in the KeyDown event.
if ( nonNumberEntered)
{ // Stop the character from being entered into the control since it is non-numerical.
e->Handled = true;
}
}
// Boolean flag used to determine when a character other than a number is entered.
private bool nonNumberEntered = false;
// Handle the KeyDown event to determine the type of character entered into the control.
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
// Initialize the flag to false.
nonNumberEntered = false;
// Determine whether the keystroke is a number from the top of the keyboard.
if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
{
// Determine whether the keystroke is a number from the keypad.
if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
{
// Determine whether the keystroke is a backspace.
if(e.KeyCode != Keys.Back)
{
// A non-numerical keystroke was pressed.
// Set the flag to true and evaluate in KeyPress event.
nonNumberEntered = true;
}
}
}
//If shift key was pressed, it's not a number.
if (Control.ModifierKeys == Keys.Shift) {
nonNumberEntered = true;
}
}
// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
// Check for the flag being set in the KeyDown event.
if (nonNumberEntered)
{
// Stop the character from being entered into the control since it is non-numerical.
e.Handled = true;
}
}
' Boolean flag used to determine when a character other than a number is entered.
Private nonNumberEntered As Boolean = False
' Handle the KeyDown event to determine the type of character entered into the control.
Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
Handles textBox1.KeyDown
' Initialize the flag to false.
nonNumberEntered = False
' Determine whether the keystroke is a number from the top of the keyboard.
If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then
' Determine whether the keystroke is a number from the keypad.
If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then
' Determine whether the keystroke is a backspace.
If e.KeyCode <> Keys.Back Then
' A non-numerical keystroke was pressed.
' Set the flag to true and evaluate in KeyPress event.
nonNumberEntered = True
End If
End If
End If
'If shift key was pressed, it's not a number.
If Control.ModifierKeys = Keys.Shift Then
nonNumberEntered = true
End If
End Sub
' This event occurs after the KeyDown event and can be used
' to prevent characters from entering the control.
Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
Handles textBox1.KeyPress
' Check for the flag being set in the KeyDown event.
If nonNumberEntered = True Then
' Stop the character from being entered into the control since it is non-numerical.
e.Handled = True
End If
End Sub
Комментарии
Класс Keys содержит константы для обработки ввода клавиатуры. Члены перечисления "Ключи" состоят из ключевого кода и набора модификаторов, объединенных в одно целочисленное значение. В интерфейсе программирования приложений Win32 (API) значение ключа имеет две половины с битами высокого порядка, содержащими код ключа (который совпадает с кодом виртуального ключа Windows), а биты низкого порядка, представляющие модификаторы ключей, такие как клавиши SHIFT, CONTROL и ALT.
Предупреждение
Не используйте значения в этом перечислении для объединенных побитовых операций. Значения перечисления не являются взаимоисключающими.
Note
Это перечисление не позволяет проверить, активируются ли ключи CAPS LOCK или NUM LOCK. Чтобы определить, активируются ли эти ключи, можно использовать один из следующих методов:
IsKeyLocked Вызовите метод Control класса.
Для более точного управления используйте функции API Windows
GetKeyState,GetAsyncKeyStateилиGetKeyboardState, определенные в user32.dll, для этого. Дополнительные сведения о вызове собственных функций см. в разделе "Использование неуправляемых функций DLL".
В следующей таблице показаны ключевые значения кода, представленные двумя перечисленными значениями, представляющими как общие ключи изготовителя оборудования (OEM), так и более конкретные связи клавиатуры США.
| Шестнадцатеричное значение | Клавиатура США | Общее OEM |
|---|---|---|
| БА | OemSemicolon | Oem1 |
| BF | OemQuestion | Oem2 |
| C0 | Oemtilde | Oem3 |
| База данных | OemOpenBrackets | Oem4 |
| DC | OemPipe | Oem5 |
| DD | OemCloseBrackets | Oem6 |
| ДЕ | OemQuotes | Oem7 |
| E2 | OemBackslash | Oem102 |
Предостережение
Для .NET Framework 2.0 добавлен элемент IMEAccept, заменяющий предыдущую запись, IMEAceept, которая была неправильно написана. Более ранняя версия была сохранена для обратной совместимости, но она может быть удалена в будущих версиях .NET.