Keys Wyliczenie

Definicja

Określa kody kluczy i modyfikatory.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

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
Dziedziczenie
Atrybuty

Pola

Nazwa Wartość Opis
Modifiers -65536

Maska bitów do wyodrębniania modyfikatorów z wartości klucza.

None 0

Nie naciśnięty klawisz.

LButton 1

Lewy przycisk myszy.

RButton 2

Prawy przycisk myszy.

Cancel 3

Klucz ANULUJ.

MButton 4

Środkowy przycisk myszy (trzy przyciski myszy).

XButton1 5

Pierwszy przycisk myszy x (mysz z pięcioma przyciskami).

XButton2 6

Drugi przycisk myszy x (mysz z pięcioma przyciskami).

Back 8

Klucz BACKSPACE.

Tab 9

Klawisz TAB.

LineFeed 10

Klucz LINEFEED.

Clear 12

Klucz CLEAR.

Enter 13

Klawisz ENTER.

Return 13

Klucz RETURN.

ShiftKey 16

Klawisz SHIFT.

ControlKey 17

Klawisz CTRL.

Menu 18

Klawisz ALT.

Pause 19

Klawisz PAUSE.

Capital 20

Klucz CAPS LOCK.

CapsLock 20

Klucz CAPS LOCK.

HanguelMode 21

Klucz trybu hanguel IME. (obsługiwane w celu zachowania zgodności; użyj HangulMode)

HangulMode 21

Klucz trybu hangul IME.

KanaMode 21

Klucz trybu kana IME.

JunjaMode 23

Klucz trybu IME Junja.

FinalMode 24

Klucz trybu końcowego IME.

HanjaMode 25

Klucz trybu IME Hanja.

KanjiMode 25

Klucz trybu IME Kanji.

Escape 27

Klucz ESC.

IMEConvert 28

Klucz konwersji IME.

IMENonconvert 29

Klucz niekonwertowany za pomocą protokołu IME.

IMEAccept 30

Klucz akceptowania IME zastępuje IMEAceeptwartość .

IMEAceept 30

Klucz akceptowania IME. Przestarzałe, zamiast tego użyj IMEAccept polecenia .

IMEModeChange 31

Klucz zmieniania trybu IME.

Space 32

Klawisz SPACJI.

PageUp 33

Klucz PAGE UP.

Prior 33

Klucz PAGE UP.

Next 34

Klawisz PAGE DOWN.

PageDown 34

Klawisz PAGE DOWN.

End 35

Klucz END.

Home 36

Klucz HOME.

Left 37

Klawisz STRZAŁKI W LEWO.

Up 38

Klawisz STRZAŁKA W GÓRĘ.

Right 39

Klawisz STRZAŁKI W PRAWO.

Down 40

Klawisz STRZAŁKI W DÓŁ.

Select 41

Klucz SELECT.

Print 42

Klucz PRINT.

Execute 43

Klucz EXECUTE.

PrintScreen 44

Klawisz PRINT SCREEN.

Snapshot 44

Klawisz PRINT SCREEN.

Insert 45

Klucz INS.

Delete 46

Klucz DEL.

Help 47

Klucz HELP.

D0 48

Klucz 0.

D1 49

Klucz 1.

D2 50

Klucz 2.

D3 51

3 klucz.

D4 52

Klucz 4.

D5 53

Klucz 5.

D6 54

Klucz 6.

D7 55

Klucz 7.

D8 56

Klucz 8.

D9 57

Klucz 9.

A 65

Klucz A.

B 66

Klucz B.

C 67

Klucz C.

D 68

Klucz D.

E 69

Klucz E.

F 70

Klawisz F.

G 71

Klucz G.

H 72

Klucz H.

I 73

Klucz I.

J 74

Klucz J.

K 75

Klucz K.

L 76

Klucz L.

M 77

Klucz języka M.

N 78

N klucz.

O 79

Klucz O.

P 80

Klucz P.

Q 81

Klucz Q.

R 82

Klucz języka R.

S 83

Klucz S.

T 84

Klucz T.

U 85

Klucz U.

V 86

Klucz V.

W 87

Klucz W.

X 88

Klucz X.

Y 89

Klucz Y.

Z 90

Klucz Z.

LWin 91

Lewy klawisz logo Windows (Microsoft Natural Keyboard).

RWin 92

Prawy klawisz logo Windows (Microsoft Klawiatura naturalna).

Apps 93

Klawisz aplikacji (Microsoft Klawiatura naturalna).

Sleep 95

Klucz uśpienia komputera.

NumPad0 96

Klucz 0 na klawiaturze liczbowej.

NumPad1 97

1 klucz na klawiaturze liczbowej.

NumPad2 98

2 klucz na klawiaturze liczbowej.

NumPad3 99

3 klucz na klawiaturze liczbowej.

NumPad4 100

4 klucz na klawiaturze liczbowej.

NumPad5 101

5 klawiszy na klawiaturze liczbowej.

NumPad6 102

6 klawiszy na klawiaturze liczbowej.

NumPad7 103

7 klawiszy na klawiaturze liczbowej.

NumPad8 104

8 klawiszy na klawiaturze liczbowej.

NumPad9 105

Klucz 9 na klawiaturze liczbowej.

Multiply 106

Klucz mnożenia.

Add 107

Klucz dodawania.

Separator 108

Klucz separatora.

Subtract 109

Klucz odejmowy.

Decimal 110

Klucz dziesiętny.

Divide 111

Klucz podziału.

F1 112

Klawisz F1.

F2 113

Klawisz F2.

F3 114

Klawisz F3.

F4 115

Klawisz F4.

F5 116

Klawisz F5.

F6 117

Klawisz F6.

F7 118

Klawisz F7.

F8 119

Klawisz F8.

F9 120

Klawisz F9.

F10 121

Klawisz F10.

F11 122

Klawisz F11.

F12 123

Klucz F12.

F13 124

Klawisz F13.

F14 125

Klawisz F14.

F15 126

Klawisz F15.

F16 127

Klawisz F16.

F17 128

Klawisz F17.

F18 129

Klawisz F18.

F19 130

Klawisz F19.

F20 131

Klawisz F20.

F21 132

Klucz F21.

F22 133

Klucz F22.

F23 134

Klawisz F23.

F24 135

Klucz F24.

NumLock 144

Klucz NUM LOCK.

Scroll 145

Klawisz SCROLL LOCK.

LShiftKey 160

Lewy klawisz SHIFT.

RShiftKey 161

Prawy klawisz SHIFT.

LControlKey 162

Lewy klawisz CTRL.

RControlKey 163

Prawy klawisz CTRL.

LMenu 164

Lewy klawisz ALT.

RMenu 165

Prawy klawisz ALT.

BrowserBack 166

Klucz wsteczny przeglądarki.

BrowserForward 167

Klucz przesyłania dalej przeglądarki.

BrowserRefresh 168

Klucz odświeżania przeglądarki.

BrowserStop 169

Klucz zatrzymania przeglądarki.

BrowserSearch 170

Klucz wyszukiwania przeglądarki.

BrowserFavorites 171

Klucz ulubionej przeglądarki.

BrowserHome 172

Klucz główny przeglądarki.

VolumeMute 173

Klucz wyciszenia woluminu.

VolumeDown 174

Klucz woluminu w dół.

VolumeUp 175

Klucz woluminu w górę.

MediaNextTrack 176

Następny klucz śledzenia multimediów.

MediaPreviousTrack 177

Poprzedni klucz ścieżki nośnika.

MediaStop 178

Klucz zatrzymania nośnika.

MediaPlayPause 179

Klawisz wstrzymania odtwarzania multimediów.

LaunchMail 180

Uruchom klucz poczty.

SelectMedia 181

Wybierz klucz multimedialny.

LaunchApplication1 182

Jeden klucz uruchamiania aplikacji.

LaunchApplication2 183

Uruchom aplikację dwa klucze.

Oem1 186

Klucz OEM 1.

OemSemicolon 186

Klawisz średnika OEM na standardowej klawiaturze USA.

Oemplus 187

Klawisz OEM plus na dowolnej klawiaturze kraju/regionu.

Oemcomma 188

Klawisz przecinka OEM na dowolnej klawiaturze kraju/regionu.

OemMinus 189

Klawisz OEM minus na dowolnej klawiaturze kraju/regionu.

OemPeriod 190

Klawisz okresu OEM na dowolnej klawiaturze kraju/regionu.

Oem2 191

Klucz OEM 2.

OemQuestion 191

Klawisz znaku zapytania OEM na standardowej klawiaturze USA.

Oem3 192

Klucz OEM 3.

Oemtilde 192

Klawisz tyldy OEM na standardowej klawiaturze USA.

Oem4 219

Klucz OEM 4.

OemOpenBrackets 219

Klawisz OEM otwierający nawias kwadratowy na standardowej klawiaturze USA.

Oem5 220

Klucz OEM 5.

OemPipe 220

Klawisz potoku OEM na standardowej klawiaturze USA.

Oem6 221

Klucz OEM 6.

OemCloseBrackets 221

Klawisz OEM zamykający nawias kwadratowy na standardowej klawiaturze USA.

Oem7 222

Klucz OEM 7.

OemQuotes 222

Klawisz OEM singled/double quote na standardowej klawiaturze USA.

Oem8 223

Klucz OEM 8.

Oem102 226

Klucz OEM 102.

OemBackslash 226

Nawias kątowy OEM lub ukośnik odwrotny klawiatury RT 102.

ProcessKey 229

Klucz PROCESU.

Packet 231

Służy do przekazywania znaków Unicode tak, jakby były naciśnięciami. Wartość klucza pakietu jest niskim wyrazem 32-bitowej wartości klucza wirtualnego używanej dla metod wprowadzania innych niż klawiatura.

Attn 246

Klucz ATTN.

Crsel 247

Klucz CRSEL.

Exsel 248

Klucz EXSEL.

EraseEof 249

Klucz ERASE EOF.

Play 250

Klucz PLAY.

Zoom 251

Klawisz ZOOM.

NoName 252

Stała zarezerwowana do użytku w przyszłości.

Pa1 253

Klucz PA1.

OemClear 254

Klucz CLEAR.

KeyCode 65535

Maska bitów do wyodrębnienia kodu klucza z wartości klucza.

Shift 65536

Klawisz modyfikatora SHIFT.

Control 131072

Klawisz modyfikatora CTRL.

Alt 262144

Klawisz modyfikatora ALT.

Przykłady

Poniższy przykład kodu używa KeyDown zdarzenia do określenia typu znaku wprowadzonego w kontrolce.

   // 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

Uwagi

Klasa Keys zawiera stałe do przetwarzania danych wejściowych klawiatury. Elementy członkowskie wyliczenia Klucze składają się z kodu klucza i zestawu modyfikatorów połączonych w jedną wartość całkowitą. W interfejsie programowania aplikacji Win32 (API) wartość klucza ma dwie połowy, z bitami o wysokiej kolejności zawierającym kod klucza (który jest taki sam jak kod klucza wirtualnego Windows), a bity o niskiej kolejności reprezentują modyfikatory kluczy, takie jak klawisze SHIFT, CONTROL i ALT.

Warning

Nie używaj wartości w tym wyliczenie dla połączonych operacji bitowych. Wartości w wyliczenia nie wykluczają się wzajemnie.

Note

Ta wyliczenie nie umożliwia sprawdzenia, czy klucze CAPS LOCK lub NUM LOCK są obecnie aktywowane. Możesz użyć jednej z następujących technik, aby określić, czy te klucze są aktywowane:

  • Wywołaj metodę IsKeyLockedControl klasy .

  • W celu uzyskania bardziej precyzyjnej kontroli użyj funkcji interfejsu API Windows GetKeyState, GetAsyncKeyState lub GetKeyboardState zdefiniowanych w user32.dll, aby to zrobić. Aby uzyskać więcej informacji na temat wywoływania funkcji natywnych, zobacz Korzystanie z niezarządzanych funkcji DLL.

W poniższej tabeli przedstawiono wartości kodu klucza reprezentowane przez dwie wyliczone wartości, reprezentujące zarówno klucze producenta sprzętu ogólnego (OEM) i bardziej szczegółowe skojarzenia klawiatury USA.

Wartość szesnastkowa Klawiatura USA Ogólne OEM
Analityk Biznesowy OemSemicolon Oem1
BF OemQuestion Oem2
C0 Oemtilde Oem3
DB OemOpenBrackets Oem4
DC OemPipe Oem5
DD OemCloseBrackets Oem6
DE OemQuotes Oem7
E2 Ukośnik OemBacks Oem102

Caution

W przypadku .NET Framework 2.0 element członkowski IMEAccept został dodany, który zastępuje poprzedni wpis, IMEAceept, który został niepoprawnie wpisana. Starsza wersja została zachowana w celu zachowania zgodności z poprzednimi wersjami, ale może zostać usunięta w przyszłych wersjach .NET.

Dotyczy

Zobacz też