Поделиться через


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).

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

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

Print 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

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

См. также раздел