Keys Перечисление

Определение

Задает коды и модификаторы клавиш.Specifies key codes and modifiers.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class 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)]
public enum Keys
type Keys = 
Public Enum Keys
Наследование
Атрибуты

Поля

A 65

Клавиша A.The A key.

Add 107

Клавиша сложения.The add key.

Alt 262144

Клавиша ALT.The ALT modifier key.

Apps 93

Клавиша контекстного меню (клавиатура Microsoft Natural).The application key (Microsoft Natural Keyboard).

Attn 246

Клавиша ATTN.The ATTN key.

B 66

Клавиша B.The B key.

Back 8

Клавиша BACKSPACE.The BACKSPACE key.

BrowserBack 166

Клавиша браузера "Назад".The browser back key.

BrowserFavorites 171

Клавиша браузера "Избранное".The browser favorites key.

BrowserForward 167

Клавиша браузера "Вперед".The browser forward key.

BrowserHome 172

Клавиша браузера "Главная".The browser home key.

BrowserRefresh 168

Клавиша браузера "Обновить".The browser refresh key.

BrowserSearch 170

Клавиша браузера "Поиск".The browser search key.

BrowserStop 169

Клавиша браузера "Остановить".The browser stop key.

C 67

Клавиша C.The C key.

Cancel 3

Клавиша отмены.The CANCEL key.

Capital 20

Клавиша CAPS LOCK.The CAPS LOCK key.

CapsLock 20

Клавиша CAPS LOCK.The CAPS LOCK key.

Clear 12

Клавиша CLEAR.The CLEAR key.

Control 131072

Клавиша CTRL.The CTRL modifier key.

ControlKey 17

Клавиша CTRL.The CTRL key.

Crsel 247

Клавиша CRSEL.The CRSEL key.

D 68

Клавиша D.The D key.

D0 48

Клавиша 0.The 0 key.

D1 49

Клавиша 1.The 1 key.

D2 50

Клавиша 2.The 2 key.

D3 51

Клавиша 3.The 3 key.

D4 52

Клавиша 4.The 4 key.

D5 53

Клавиша 5.The 5 key.

D6 54

Клавиша 6.The 6 key.

D7 55

Клавиша 7.The 7 key.

D8 56

Клавиша 8.The 8 key.

D9 57

Клавиша 9.The 9 key.

Decimal 110

Клавиша десятичного разделителя.The decimal key.

Delete 46

Клавиша DEL.The DEL key.

Divide 111

Клавиша деления.The divide key.

Down 40

Клавиша СТРЕЛКА ВНИЗ.The DOWN ARROW key.

E 69

Клавиша E.The E key.

End 35

Клавиша END.The END key.

Enter 13

Клавиша ВВОД.The ENTER key.

EraseEof 249

Клавиша ERASE EOF.The ERASE EOF key.

Escape 27

Клавиша ESC.The ESC key.

Execute 43

Клавиша EXECUTE.The EXECUTE key.

Exsel 248

Клавиша EXSEL.The EXSEL key.

F 70

Клавиша F.The F key.

F1 112

Клавиша F1.The F1 key.

F10 121

Клавиша F10.The F10 key.

F11 122

Клавиша F11.The F11 key.

F12 123

Клавиша F12.The F12 key.

F13 124

Клавиша F13.The F13 key.

F14 125

Клавиша F14.The F14 key.

F15 126

Клавиша F15.The F15 key.

F16 127

Клавиша F16.The F16 key.

F17 128

Клавиша F17.The F17 key.

F18 129

Клавиша F18.The F18 key.

F19 130

Клавиша F19.The F19 key.

F2 113

Клавиша F2.The F2 key.

F20 131

Клавиша F20.The F20 key.

F21 132

Клавиша F21.The F21 key.

F22 133

Клавиша F22.The F22 key.

F23 134

Клавиша F23.The F23 key.

F24 135

Клавиша F24.The F24 key.

F3 114

Клавиша F3.The F3 key.

F4 115

Клавиша F4.The F4 key.

F5 116

Клавиша F5.The F5 key.

F6 117

Клавиша F6.The F6 key.

F7 118

Клавиша F7.The F7 key.

F8 119

Клавиша F8.The F8 key.

F9 120

Клавиша F9.The F9 key.

FinalMode 24

Клавиша окончательного режима IME.The IME final mode key.

G 71

Клавиша G.The G key.

H 72

Клавиша H.The H key.

HanguelMode 21

Клавиша режима IME HanguelThe IME Hanguel mode key. (поддерживается для обеспечения совместимости; используйте клавишу HangulMode).(maintained for compatibility; use HangulMode)

HangulMode 21

Клавиша режима "Хангыль" редактора метода ввода.The IME Hangul mode key.

HanjaMode 25

Клавиша режима "Ханджа" редактора метода ввода.The IME Hanja mode key.

Help 47

Клавиша HELP.The HELP key.

Home 36

Клавиша HOME.The HOME key.

I 73

Клавиша I.The I key.

IMEAccept 30

Клавиша принятия IME, заменяет клавишу IMEAceept.The IME accept key, replaces IMEAceept.

IMEAceept 30

Клавиша принятия IME.The IME accept key. Является устаревшей, вместо нее используется клавиша IMEAccept.Obsolete, use IMEAccept instead.

IMEConvert 28

Клавиша преобразования IME.The IME convert key.

IMEModeChange 31

Клавиша изменения режима IME.The IME mode change key.

IMENonconvert 29

Клавиша без преобразования IME.The IME nonconvert key.

Insert 45

Клавиша INS.The INS key.

J 74

Клавиша J.The J key.

JunjaMode 23

Клавиша режима "Джунджа" редактора метода ввода.The IME Junja mode key.

K 75

Клавиша K.The K key.

KanaMode 21

Клавиша режима "Кана" редактора метода ввода.The IME Kana mode key.

KanjiMode 25

Клавиша режима "Кандзи" редактора метода ввода.The IME Kanji mode key.

KeyCode 65535

Битовая маска для извлечения кода клавиши из значения клавиши.The bitmask to extract a key code from a key value.

L 76

Клавиша L.The L key.

LaunchApplication1 182

Клавиша запуска первого приложения.The start application one key.

LaunchApplication2 183

Клавиша запуска второго приложения.The start application two key.

LaunchMail 180

Клавиша запуска приложения почты.The launch mail key.

LButton 1

Левая кнопка мыши.The left mouse button.

LControlKey 162

Левая клавиша CTRL.The left CTRL key.

Left 37

Клавиша СТРЕЛКА ВЛЕВО.The LEFT ARROW key.

LineFeed 10

Клавиша LINEFEED.The LINEFEED key.

LMenu 164

Левая клавиша ALT.The left ALT key.

LShiftKey 160

Левая клавиша SHIFT.The left SHIFT key.

LWin 91

Левая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard).The left Windows logo key (Microsoft Natural Keyboard).

M 77

Клавиша M.The M key.

MButton 4

Средняя кнопка мыши (трехкнопочная мышь).The middle mouse button (three-button mouse).

MediaNextTrack 176

Клавиша "Следующая запись".The media next track key.

MediaPlayPause 179

Клавиша приостановки воспроизведения.The media play pause key.

MediaPreviousTrack 177

Клавиша "Предыдущая запись".The media previous track key.

MediaStop 178

Клавиша остановки воспроизведения.The media Stop key.

Menu 18

Клавиша ALT.The ALT key.

Modifiers -65536

Битовая маска для извлечения модификаторов из значения клавиши.The bitmask to extract modifiers from a key value.

Multiply 106

Клавиша умножения.The multiply key.

N 78

Клавиша N.The N key.

Next 34

Клавиша PAGE DOWN.The PAGE DOWN key.

NoName 252

Константа, зарезервированная для будущего использования.A constant reserved for future use.

None 0

Нет нажатых клавиш.No key pressed.

NumLock 144

Клавиша NUM LOCK.The NUM LOCK key.

NumPad0 96

Клавиша 0 на цифровой клавиатуре.The 0 key on the numeric keypad.

NumPad1 97

Клавиша 1 на цифровой клавиатуре.The 1 key on the numeric keypad.

NumPad2 98

Клавиша 2 на цифровой клавиатуре.The 2 key on the numeric keypad.

NumPad3 99

Клавиша 3 на цифровой клавиатуре.The 3 key on the numeric keypad.

NumPad4 100

Клавиша 4 на цифровой клавиатуре.The 4 key on the numeric keypad.

NumPad5 101

Клавиша 5 на цифровой клавиатуре.The 5 key on the numeric keypad.

NumPad6 102

Клавиша 6 на цифровой клавиатуре.The 6 key on the numeric keypad.

NumPad7 103

Клавиша 7 на цифровой клавиатуре.The 7 key on the numeric keypad.

NumPad8 104

Клавиша 8 на цифровой клавиатуре.The 8 key on the numeric keypad.

NumPad9 105

Клавиша 9 на цифровой клавиатуре.The 9 key on the numeric keypad.

O 79

Клавиша O.The O key.

Oem1 186

Клавиша OEM 1.The OEM 1 key.

Oem102 226

Клавиша OEM 102.The OEM 102 key.

Oem2 191

Клавиша OEM 2.The OEM 2 key.

Oem3 192

Клавиша OEM 3.The OEM 3 key.

Oem4 219

Клавиша OEM 4.The OEM 4 key.

Oem5 220

Клавиша OEM 5.The OEM 5 key.

Oem6 221

Клавиша OEM 6.The OEM 6 key.

Oem7 222

Клавиша OEM 7.The OEM 7 key.

Oem8 223

Клавиша OEM 8.The OEM 8 key.

OemBackslash 226

Клавиша OEM с угловой скобкой или обратной косой чертой на клавиатуре RT со 102 клавишами.The OEM angle bracket or backslash key on the RT 102 key keyboard.

OemClear 254

Клавиша CLEAR.The CLEAR key.

OemCloseBrackets 221

Клавиша OEM с закрывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США".The OEM close bracket key on a US standard keyboard.

Oemcomma 188

Клавиша OEM с запятой на клавиатуре для любой страны или региона.The OEM comma key on any country/region keyboard.

OemMinus 189

Клавиша OEM со знаком минус на клавиатуре для любой страны или региона.The OEM minus key on any country/region keyboard.

OemOpenBrackets 219

Клавиша OEM с открывающей квадратной скобкой на клавиатуре со стандартной раскладкой "США".The OEM open bracket key on a US standard keyboard.

OemPeriod 190

Клавиша OEM с точкой на клавиатуре для любой страны или региона.The OEM period key on any country/region keyboard.

OemPipe 220

Клавиша OEM с вертикальной чертой на клавиатуре со стандартной раскладкой "США".The OEM pipe key on a US standard keyboard.

Oemplus 187

Клавиша OEM со знаком плюс на клавиатуре для любой страны или региона.The OEM plus key on any country/region keyboard.

OemQuestion 191

Клавиша OEM со знаком вопроса на клавиатуре со стандартной раскладкой "США".The OEM question mark key on a US standard keyboard.

OemQuotes 222

Клавиша OEM с одинарной/двойной кавычкой на клавиатуре со стандартной раскладкой "США".The OEM singled/double quote key on a US standard keyboard.

OemSemicolon 186

Клавиша OEM с двоеточием на клавиатуре со стандартной раскладкой "США".The OEM Semicolon key on a US standard keyboard.

Oemtilde 192

Клавиша OEM со знаком тильды на клавиатуре со стандартной раскладкой "США".The OEM tilde key on a US standard keyboard.

P 80

Клавиша P.The P key.

Pa1 253

Клавиша PA1.The PA1 key.

Packet 231

Используется для передачи символов в Юникоде в виде нажатия клавиш.Used to pass Unicode characters as if they were keystrokes. Значение клавиши пакета является младшим словом 32-разрядного виртуального значения клавиши, используемого для бесклавиатурных методов ввода.The Packet key value is the low word of a 32-bit virtual-key value used for non-keyboard input methods.

PageDown 34

Клавиша PAGE DOWN.The PAGE DOWN key.

PageUp 33

Клавиша PAGE UP.The PAGE UP key.

Pause 19

Клавиша PAUSE.The PAUSE key.

Play 250

Клавиша ВОСПРОИЗВЕСТИ.The PLAY key.

Print 42

Клавиша PRINT.The PRINT key.

PrintScreen 44

Клавиша PRINT SCREEN.The PRINT SCREEN key.

Prior 33

Клавиша PAGE UP.The PAGE UP key.

ProcessKey 229

Клавиша PROCESS KEY.The PROCESS KEY key.

Q 81

Клавиша Q.The Q key.

R 82

Клавиша R.The R key.

RButton 2

Правая кнопка мыши.The right mouse button.

RControlKey 163

Правая клавиша CTRL.The right CTRL key.

Return 13

Клавиша RETURN.The RETURN key.

Right 39

Клавиша СТРЕЛКА ВПРАВО.The RIGHT ARROW key.

RMenu 165

Правая клавиша ALT.The right ALT key.

RShiftKey 161

Правая клавиша SHIFT.The right SHIFT key.

RWin 92

Правая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard).The right Windows logo key (Microsoft Natural Keyboard).

S 83

Клавиша S.The S key.

Scroll 145

Клавиша SCROLL LOCK.The SCROLL LOCK key.

Select 41

Клавиша SELECT.The SELECT key.

SelectMedia 181

Клавиша выбора файла мультимедиа.The select media key.

Separator 108

Клавиша разделителя.The separator key.

Shift 65536

Клавиша SHIFT.The SHIFT modifier key.

ShiftKey 16

Клавиша SHIFT.The SHIFT key.

Sleep 95

Клавиша перевода компьютера в спящий режим.The computer sleep key.

Snapshot 44

Клавиша PRINT SCREEN.The PRINT SCREEN key.

Space 32

Клавиша ПРОБЕЛ.The SPACEBAR key.

Subtract 109

Клавиша вычитания.The subtract key.

T 84

Клавиша T.The T key.

Tab 9

Клавиша TAB.The TAB key.

U 85

Клавиша U.The U key.

Up 38

Клавиша СТРЕЛКА ВВЕРХ.The UP ARROW key.

V 86

Клавиша V.The V key.

VolumeDown 174

Клавиша уменьшения громкости.The volume down key.

VolumeMute 173

Клавиша выключения звука.The volume mute key.

VolumeUp 175

Клавиша увеличения громкости.The volume up key.

W 87

Клавиша W.The W key.

X 88

Клавиша X.The X key.

XButton1 5

Первая кнопка мыши (пятикнопочная мышь).The first x mouse button (five-button mouse).

XButton2 6

Вторая кнопка мыши (пятикнопочная мышь).The second x mouse button (five-button mouse).

Y 89

Клавиша Y.The Y key.

Z 90

Клавиша Z.The Z key.

Zoom 251

Клавиша МАСШТАБ.The ZOOM key.

Примеры

В следующем примере кода событие KeyDown используется для определения типа символа, введенного в элемент управления.The following code example uses the KeyDown event to determine the type of character entered into the control.

   // 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 содержит константы для обработки ввода с клавиатуры.The Keys class contains constants for processing keyboard input. Члены перечисления Keys состоят из кода ключа и набора модификаторов, Объединенных в одно целое значение.The members of the Keys enumeration consist of a key code and a set of modifiers combined into a single integer value. В интерфейсе прикладного программирования (API) Win32 значение ключа имеет две половины, а старшие биты содержат код ключа (то же, что и код виртуального ключа Windows), а младшие биты, представляющие модификаторы ключа, такие как SHIFT, CONTROL и ALT. ключ.In the Win32 application programming interface (API) a key value has two halves, with the high-order bits containing the key code (which is the same as a Windows virtual key code), and the low-order bits representing key modifiers such as the SHIFT, CONTROL, and ALT keys.

Предупреждение

Не используйте значения из этого перечисления для Объединенных побитовых операций.Do not use the values in this enumeration for combined bitwise operations. Значения в перечислении не являются взаимоисключающими.The values in the enumeration are not mutually exclusive.

Примечание

Это перечисление не дает возможности проверить, активированы ли в настоящее время клавиши CAPS LOCK или NUM LOCK.This enumeration provides no way to test whether the CAPS LOCK or NUM LOCK keys are currently activated. Чтобы определить, активированы ли эти ключи, можно использовать один из следующих методов.You can use one of the following techniques to determine if these keys are activated:

  • Вызовите метод IsKeyLocked класса Control .Call the IsKeyLocked method of the Control class.

  • Для более точного управления используйте функции Windows API GetKeyState, GetAsyncKeyStateили GetKeyboardState, определенные в user32. dll.For finer control, use the Windows API functions GetKeyState, GetAsyncKeyState, or GetKeyboardState defined in user32.dll, to do this. Дополнительные сведения о вызове собственных функций см. в разделе Использование неуправляемых функций DLL.For more information about calling native functions, see Consuming Unmanaged DLL Functions.

В следующей таблице показаны ключевые значения кода, представленные двумя перечисляемыми значениями, представляющими общие ключи изготовителя оборудования (OEM) и более конкретные связи с клавиатурой США.The following table shows the key code values represented by two enumerated values, representing both the general original equipment manufacturer (OEM) keys and the more specific U.S.-keyboard associations.

Шестнадцатеричное значениеHexadecimal value Клавиатура СШАU.S. keyboard Общий изготовитель оборудованияGeneral OEM
BABA оемсемиколонOemSemicolon OEM1Oem1
BFBF оемкуестионOemQuestion Oem2Oem2
C0C0 оемтилдеOemtilde Oem3Oem3
DBDB оемопенбраккетсOemOpenBrackets Oem4Oem4
DCDC оемпипеOemPipe Oem5Oem5
DDDD оемклосебраккетсOemCloseBrackets Oem6Oem6
DEDE оемкуотесOemQuotes Oem7Oem7
E2E2 оембаккслашOemBackslash Oem102Oem102

Внимание!

Для .NET Framework 2,0 был добавлен член Имеакцепт, заменяющий предыдущую запись Имеацеепт, которая была написана неправильно.For the .NET Framework 2.0, a member IMEAccept was added that supersedes the previous entry, IMEAceept, which was spelled incorrectly. Старая версия сохранена для обеспечения обратной совместимости, но может быть удалена в будущих версиях .NET FrameworkThe older version has been retained for backward compatibility, but it may be deleted in future versions of the .NET Framework

Применяется к

Дополнительно