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
- Наследование
- Атрибуты
Поля
| Имя | Значение | Описание |
|---|---|---|
| A | 65 | Клавиша A. |
| Add | 107 | Клавиша сложения. |
| Alt | 262144 | Клавиша ALT. |
| Apps | 93 | Клавиша контекстного меню (клавиатура Microsoft Natural). |
| Attn | 246 | Клавиша ATTN. |
| B | 66 | Клавиша B. |
| Back | 8 | Клавиша BACKSPACE. |
| BrowserBack | 166 | Клавиша браузера "Назад". |
| BrowserFavorites | 171 | Клавиша браузера "Избранное". |
| BrowserForward | 167 | Клавиша браузера "Вперед". |
| BrowserHome | 172 | Клавиша браузера "Главная". |
| BrowserRefresh | 168 | Клавиша браузера "Обновить". |
| BrowserSearch | 170 | Клавиша браузера "Поиск". |
| BrowserStop | 169 | Клавиша браузера "Остановить". |
| C | 67 | Клавиша C. |
| Cancel | 3 | Клавиша отмены. |
| Capital | 20 | Клавиша CAPS LOCK. |
| CapsLock | 20 | Клавиша CAPS LOCK. |
| Clear | 12 | Клавиша CLEAR. |
| Control | 131072 | Клавиша CTRL. |
| ControlKey | 17 | Клавиша CTRL. |
| Crsel | 247 | Клавиша CRSEL. |
| D | 68 | Клавиша D. |
| 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. |
| Decimal | 110 | Клавиша десятичного разделителя. |
| Delete | 46 | Клавиша DEL. |
| Divide | 111 | Клавиша деления. |
| Down | 40 | Клавиша СТРЕЛКА ВНИЗ. |
| E | 69 | Клавиша E. |
| End | 35 | Клавиша END. |
| Enter | 13 | Клавиша ВВОД. |
| EraseEof | 249 | Клавиша ERASE EOF. |
| Escape | 27 | Клавиша ESC. |
| Execute | 43 | Клавиша EXECUTE. |
| Exsel | 248 | Клавиша EXSEL. |
| F | 70 | Клавиша F. |
| F1 | 112 | Клавиша F1. |
| 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. |
| F2 | 113 | Клавиша F2. |
| F20 | 131 | Клавиша F20. |
| F21 | 132 | Клавиша F21. |
| F22 | 133 | Клавиша F22. |
| F23 | 134 | Клавиша F23. |
| F24 | 135 | Клавиша F24. |
| F3 | 114 | Клавиша F3. |
| F4 | 115 | Клавиша F4. |
| F5 | 116 | Клавиша F5. |
| F6 | 117 | Клавиша F6. |
| F7 | 118 | Клавиша F7. |
| F8 | 119 | Клавиша F8. |
| F9 | 120 | Клавиша F9. |
| FinalMode | 24 | Клавиша окончательного режима IME. |
| G | 71 | Клавиша G. |
| H | 72 | Клавиша H. |
| HanguelMode | 21 | Клавиша режима IME Hanguel (поддерживается для обеспечения совместимости; используйте клавишу |
| HangulMode | 21 | Клавиша режима "Хангыль" редактора метода ввода. |
| HanjaMode | 25 | Клавиша режима "Ханджа" редактора метода ввода. |
| Help | 47 | Клавиша HELP. |
| Home | 36 | Клавиша HOME. |
| I | 73 | Клавиша I. |
| IMEAccept | 30 | Клавиша принятия IME, заменяет клавишу IMEAceept. |
| IMEAceept | 30 | Клавиша принятия IME. Является устаревшей, вместо нее используется клавиша IMEAccept. |
| IMEConvert | 28 | Клавиша преобразования IME. |
| IMEModeChange | 31 | Клавиша изменения режима IME. |
| IMENonconvert | 29 | Клавиша без преобразования IME. |
| Insert | 45 | Клавиша INS. |
| J | 74 | Клавиша J. |
| JunjaMode | 23 | Клавиша режима "Джунджа" редактора метода ввода. |
| K | 75 | Клавиша K. |
| KanaMode | 21 | Клавиша режима "Кана" редактора метода ввода. |
| KanjiMode | 25 | Клавиша режима "Кандзи" редактора метода ввода. |
| KeyCode | 65535 | Битовая маска для извлечения кода клавиши из значения клавиши. |
| L | 76 | Клавиша L. |
| LaunchApplication1 | 182 | Клавиша запуска первого приложения. |
| LaunchApplication2 | 183 | Клавиша запуска второго приложения. |
| LaunchMail | 180 | Клавиша запуска приложения почты. |
| LButton | 1 | Левая кнопка мыши. |
| LControlKey | 162 | Левая клавиша CTRL. |
| Left | 37 | Клавиша СТРЕЛКА ВЛЕВО. |
| LineFeed | 10 | Клавиша LINEFEED. |
| LMenu | 164 | Левая клавиша ALT. |
| LShiftKey | 160 | Левая клавиша SHIFT. |
| LWin | 91 | Левая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). |
| M | 77 | Клавиша M. |
| MButton | 4 | Средняя кнопка мыши (трехкнопочная мышь). |
| MediaNextTrack | 176 | Клавиша "Следующая запись". |
| MediaPlayPause | 179 | Клавиша приостановки воспроизведения. |
| MediaPreviousTrack | 177 | Клавиша "Предыдущая запись". |
| MediaStop | 178 | Клавиша остановки воспроизведения. |
| Menu | 18 | Клавиша ALT. |
| Modifiers | -65536 | Битовая маска для извлечения модификаторов из значения клавиши. |
| Multiply | 106 | Клавиша умножения. |
| N | 78 | Клавиша N. |
| Next | 34 | Клавиша PAGE DOWN. |
| NoName | 252 | Константа, зарезервированная для будущего использования. |
| None | 0 | Нет нажатых клавиш. |
| NumLock | 144 | Клавиша NUM LOCK. |
| 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 на цифровой клавиатуре. |
| O | 79 | Клавиша O. |
| Oem1 | 186 | Клавиша OEM 1. |
| Oem102 | 226 | Клавиша OEM 102. |
| Oem2 | 191 | Клавиша OEM 2. |
| Oem3 | 192 | Клавиша OEM 3. |
| Oem4 | 219 | Клавиша OEM 4. |
| Oem5 | 220 | Клавиша OEM 5. |
| Oem6 | 221 | Клавиша OEM 6. |
| Oem7 | 222 | Клавиша OEM 7. |
| Oem8 | 223 | Клавиша OEM 8. |
| OemBackslash | 226 | Клавиша OEM с угловой скобкой или обратной косой чертой на клавиатуре RT со 102 клавишами. |
| OemClear | 254 | Клавиша CLEAR. |
| OemCloseBrackets | 221 | Клавиша OEM с закрывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США". |
| Oemcomma | 188 | Клавиша OEM с запятой на клавиатуре для любой страны или региона. |
| OemMinus | 189 | Клавиша OEM со знаком минус на клавиатуре для любой страны или региона. |
| OemOpenBrackets | 219 | Клавиша OEM с открывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США". |
| OemPeriod | 190 | Клавиша OEM с точкой на клавиатуре для любой страны или региона. |
| OemPipe | 220 | Клавиша OEM с вертикальной чертой на клавиатуре со стандартной раскладкой "США". |
| Oemplus | 187 | Клавиша OEM со знаком плюс на клавиатуре для любой страны или региона. |
| OemQuestion | 191 | Клавиша OEM со знаком вопроса на клавиатуре со стандартной раскладкой "США". |
| OemQuotes | 222 | Клавиша OEM с одинарной/двойной кавычкой на клавиатуре со стандартной раскладкой "США". |
| OemSemicolon | 186 | Клавиша OEM с двоеточием на клавиатуре со стандартной раскладкой "США". |
| Oemtilde | 192 | Клавиша OEM со знаком тильды на клавиатуре со стандартной раскладкой "США". |
| P | 80 | Клавиша P. |
| Pa1 | 253 | Клавиша PA1. |
| Packet | 231 | Используется для передачи символов в Юникоде в виде нажатия клавиш. Значение клавиши пакета является младшим словом 32-разрядного виртуального значения клавиши, используемого для бесклавиатурных методов ввода. |
| PageDown | 34 | Клавиша PAGE DOWN. |
| PageUp | 33 | Клавиша PAGE UP. |
| Pause | 19 | Клавиша PAUSE. |
| Play | 250 | Клавиша ВОСПРОИЗВЕСТИ. |
| 42 | Клавиша PRINT. |
|
| PrintScreen | 44 | Клавиша PRINT SCREEN. |
| Prior | 33 | Клавиша PAGE UP. |
| ProcessKey | 229 | Клавиша PROCESS KEY. |
| Q | 81 | Клавиша Q. |
| R | 82 | Клавиша R. |
| RButton | 2 | Правая кнопка мыши. |
| RControlKey | 163 | Правая клавиша CTRL. |
| Return | 13 | Клавиша RETURN. |
| Right | 39 | Клавиша СТРЕЛКА ВПРАВО. |
| RMenu | 165 | Правая клавиша ALT. |
| RShiftKey | 161 | Правая клавиша SHIFT. |
| RWin | 92 | Правая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). |
| S | 83 | Клавиша S. |
| Scroll | 145 | Клавиша SCROLL LOCK. |
| Select | 41 | Клавиша SELECT. |
| SelectMedia | 181 | Клавиша выбора файла мультимедиа. |
| Separator | 108 | Клавиша разделителя. |
| Shift | 65536 | Клавиша SHIFT. |
| ShiftKey | 16 | Клавиша SHIFT. |
| Sleep | 95 | Клавиша перевода компьютера в спящий режим. |
| Snapshot | 44 | Клавиша PRINT SCREEN. |
| Space | 32 | Клавиша ПРОБЕЛ. |
| Subtract | 109 | Клавиша вычитания. |
| T | 84 | Клавиша T. |
| Tab | 9 | Клавиша TAB. |
| U | 85 | Клавиша U. |
| Up | 38 | Клавиша СТРЕЛКА ВВЕРХ. |
| V | 86 | Клавиша V. |
| VolumeDown | 174 | Клавиша уменьшения громкости. |
| VolumeMute | 173 | Клавиша выключения звука. |
| VolumeUp | 175 | Клавиша увеличения громкости. |
| W | 87 | Клавиша W. |
| X | 88 | Клавиша X. |
| XButton1 | 5 | Первая кнопка мыши (пятикнопочная мышь). |
| XButton2 | 6 | Вторая кнопка мыши (пятикнопочная мышь). |
| Y | 89 | Клавиша Y. |
| Z | 90 | Клавиша Z. |
| Zoom | 251 | Клавиша МАСШТАБ. |
Примеры
В следующем примере кода событие используется 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 == true )
{ // 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 == true)
{
// 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 содержит константы для обработки ввода с клавиатуры. Члены перечисления Keys состоят из кода ключа и набора модификаторов, объединенных в одно целочисленное значение. В прикладном программном интерфейсе (API) Win32 значение ключа имеет две половины: биты высокого порядка, содержащие код ключа (который совпадает с кодом виртуального ключа Windows), а биты низкого порядка, представляющие модификаторы клавиш, такие как клавиши SHIFT, CONTROL и ALT.
Предупреждение
Не используйте значения в этом перечислении для комбинированных побитовых операций. Значения в перечислении не являются взаимоисключающими.
Примечание
Это перечисление не позволяет проверить, активированы ли в настоящее время ключи CAPS LOCK или NUM LOCK. Чтобы определить, активированы ли эти ключи, можно использовать один из следующих методов:
Вызовите метод IsKeyLocked класса Control .
Для более точного управления используйте для этого функции
GetKeyStateAPI Windows ,GetAsyncKeyStateилиGetKeyboardState, определенные в user32.dll. Дополнительные сведения о вызове собственных функций см. в разделе Использование неуправляемых функций DLL.
В следующей таблице показаны значения кода ключа, представленные двумя перечисленными значениями, представляющими как общие клавиши изготовителя оборудования (OEM), так и более конкретные связи клавиатуры в США.
| Шестнадцатеричное значение | Клавиатура США | Общий OEM |
|---|---|---|
| BA | OemSemicolon | Oem1 |
| BF | OemQuestion | Oem2 |
| C0 | Oemtilde | Oem3 |
| DB | OemOpenBrackets | Oem4 |
| DC | OemPipe | Oem5 |
| DD | OemCloseBrackets | Oem6 |
| DE | OemQuotes | Oem7 |
| E2 | OemBackslash | Oem102 |
Внимание!
Для платформа .NET Framework 2.0 добавлен элемент IMEAccept, заменяющий предыдущую запись IMEAceept, которая была написана неправильно. Более старая версия была сохранена для обеспечения обратной совместимости, но она может быть удалена в будущих версиях платформа .NET Framework