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 .
Для более точного управления используйте для этого функции
GetKeyState
API 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