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

A 65

Klucz A.

Add 107

Klucz dodawania.

Alt 262144

Klawisz modyfikatora ALT.

Apps 93

Klucz aplikacji (Microsoft Natural Keyboard).

Attn 246

Klucz ATTN.

B 66

Klucz B.

Back 8

Klucz BACKSPACE.

BrowserBack 166

Klucz wsteczny przeglądarki.

BrowserFavorites 171

Klucz ulubionej przeglądarki.

BrowserForward 167

Klucz przekazywania w przeglądarce.

BrowserHome 172

Klucz główny przeglądarki.

BrowserRefresh 168

Klucz odświeżania przeglądarki.

BrowserSearch 170

Klucz wyszukiwania przeglądarki.

BrowserStop 169

Klucz zatrzymania przeglądarki.

C 67

Klucz C.

Cancel 3

Klucz ANULUJ.

Capital 20

Klucz CAPS LOCK.

CapsLock 20

Klucz CAPS LOCK.

Clear 12

Klucz CLEAR.

Control 131072

Klawisz modyfikatora CTRL.

ControlKey 17

Klawisz CTRL.

Crsel 247

Klucz CRSEL.

D 68

Klucz D.

D0 48

Klucz 0.

D1 49

Klucz 1.

D2 50

Klucz 2.

D3 51

Klucz 3.

D4 52

Klucz 4.

D5 53

Klucz 5.

D6 54

Klucz 6.

D7 55

Klucz 7.

D8 56

Klucz 8.

D9 57

Klucz 9.

Decimal 110

Klucz dziesiętny.

Delete 46

Klucz DEL.

Divide 111

Klucz podziału.

Down 40

Klawisz STRZAŁKA W DÓŁ.

E 69

Klucz E.

End 35

Klucz END.

Enter 13

Klawisz ENTER.

EraseEof 249

Klucz ERASE EOF.

Escape 27

Klawisz ESC.

Execute 43

Klucz EXECUTE.

Exsel 248

Klucz EXSEL.

F 70

Klawisz F.

F1 112

Klawisz F1.

F10 121

Klawisz F10.

F11 122

Klawisz F11.

F12 123

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

F2 113

Klawisz F2.

F20 131

Klawisz F20.

F21 132

Klawisz F21.

F22 133

Klucz F22.

F23 134

Klawisz F23.

F24 135

Klawisz F24.

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.

FinalMode 24

Klucz ostatniego trybu IME.

G 71

Klucz G.

H 72

Klucz H.

HanguelMode 21

Klucz trybu hanguel IME. (obsługiwane pod kątem zgodności; użyj HangulMode)

HangulMode 21

Klucz trybu hangul IME.

HanjaMode 25

Klucz trybu IME Hanja.

Help 47

Klucz HELP.

Home 36

Klucz HOME.

I 73

Klucz I.

IMEAccept 30

Klucz akceptowania IME zastępuje IMEAceeptwartość .

IMEAceept 30

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

IMEConvert 28

Klucz konwersji IME.

IMEModeChange 31

Tryb IME zmienia klucz.

IMENonconvert 29

Klucz bezkonwertu IME.

Insert 45

Klucz INS.

J 74

Klucz J.

JunjaMode 23

Klucz trybu IME Junja.

K 75

Klucz K.

KanaMode 21

Klucz trybu kana IME.

KanjiMode 25

Klucz trybu IME Kanji.

KeyCode 65535

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

L 76

Klucz L.

LaunchApplication1 182

Uruchom aplikację o jeden klucz.

LaunchApplication2 183

Uruchom aplikację dwa klucze.

LaunchMail 180

Klucz poczty uruchamiania.

LButton 1

Lewy przycisk myszy.

LControlKey 162

Lewy klawisz CTRL.

Left 37

Klawisz STRZAŁKA W LEWO.

LineFeed 10

Klucz LINEFEED.

LMenu 164

Lewy klawisz ALT.

LShiftKey 160

Lewy klawisz SHIFT.

LWin 91

Lewy klawisz logo systemu Windows (Microsoft Natural Keyboard).

M 77

Klucz M.

MButton 4

Środkowy przycisk myszy (mysz z trzema przyciskami).

MediaNextTrack 176

Następny klucz śledzenia multimediów.

MediaPlayPause 179

Klawisz wstrzymania odtwarzania multimediów.

MediaPreviousTrack 177

Poprzedni klucz śledzenia multimediów.

MediaStop 178

Klucz zatrzymania multimediów.

Menu 18

Klawisz ALT.

Modifiers -65536

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

Multiply 106

Klucz mnożenia.

N 78

Klucz N.

Next 34

Klucz PAGE DOWN.

NoName 252

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

None 0

Nie naciśnięcie klawisza.

NumLock 144

Klucz blokady NUM.

NumPad0 96

Klucz 0 na klawiaturze liczbowej.

NumPad1 97

1 klucz na klawiaturze liczbowej.

NumPad2 98

Klucz 2 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

Klucz 6 na klawiaturze liczbowej.

NumPad7 103

Klucz 7 na klawiaturze liczbowej.

NumPad8 104

Klucz 8 na klawiaturze liczbowej.

NumPad9 105

Klucz 9 na klawiaturze liczbowej.

O 79

Klucz O.

Oem1 186

Klucz OEM 1.

Oem102 226

Klucz OEM 102.

Oem2 191

Klucz OEM 2.

Oem3 192

Klucz OEM 3.

Oem4 219

Klucz OEM 4.

Oem5 220

Klucz OEM 5.

Oem6 221

Klucz OEM 6.

Oem7 222

Klucz OEM 7.

Oem8 223

Klucz OEM 8.

OemBackslash 226

Nawias kątowy OEM lub klawisz ukośnika odwrotnego na klawiaturze klawisza RT 102.

OemClear 254

Klucz CLEAR.

OemCloseBrackets 221

Klawisz OEM zamykający nawias na standardowej klawiaturze USA.

Oemcomma 188

Klawisz przecinka OEM na dowolnej klawiaturze kraju/regionu.

OemMinus 189

Klawisz OEM minus na dowolnej klawiaturze kraju/regionu.

OemOpenBrackets 219

Klawisz o otwartym nawiasie klamrowym OEM na standardowej klawiaturze USA.

OemPeriod 190

Klawisz okresu OEM na dowolnej klawiaturze kraju/regionu.

OemPipe 220

Klawisz potoku OEM na standardowej klawiaturze USA.

Oemplus 187

Klawisz OEM plus na dowolnej klawiaturze kraju/regionu.

OemQuestion 191

Klawisz znaku zapytania OEM na standardowej klawiaturze USA.

OemQuotes 222

Klawisz OEM singled/double cudzysłowu na standardowej klawiaturze USA.

OemSemicolon 186

Średnik OEM na standardowej klawiaturze USA.

Oemtilde 192

Klawisz tyldy OEM na standardowej klawiaturze USA.

P 80

Klucz P.

Pa1 253

Klucz PA1.

Packet 231

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

PageDown 34

Klucz PAGE DOWN.

PageUp 33

Klucz PAGE UP.

Pause 19

Klucz PAUSE.

Play 250

Klucz PLAY.

Print 42

Klucz PRINT.

PrintScreen 44

Klucz PRINT SCREEN.

Prior 33

Klucz PAGE UP.

ProcessKey 229

Klucz KLUCZA PROCESU.

Q 81

Klucz Q.

R 82

Klucz języka R.

RButton 2

Prawy przycisk myszy.

RControlKey 163

Prawy klawisz CTRL.

Return 13

Klucz RETURN.

Right 39

Klawisz STRZAŁKA W PRAWO.

RMenu 165

Prawy klawisz ALT.

RShiftKey 161

Prawy klawisz SHIFT.

RWin 92

Prawy klawisz logo systemu Windows (Microsoft Natural Keyboard).

S 83

Klucz S.

Scroll 145

Klawisz SCROLL LOCK.

Select 41

Klucz SELECT.

SelectMedia 181

Wybierz klucz nośnika.

Separator 108

Klucz separatora.

Shift 65536

Klawisz modyfikatora SHIFT.

ShiftKey 16

Klawisz SHIFT.

Sleep 95

Klucz uśpienia komputera.

Snapshot 44

Klucz PRINT SCREEN.

Space 32

Klucz SPACEBAR.

Subtract 109

Klucz odejmowy.

T 84

Klucz T.

Tab 9

Klawisz TAB.

U 85

Klucz U.

Up 38

Klawisz STRZAŁKA W GÓRĘ.

V 86

Klucz V.

VolumeDown 174

Klucz w dół woluminu.

VolumeMute 173

Klucz wyciszenia woluminu.

VolumeUp 175

Klucz woluminu w górę.

W 87

Klucz W.

X 88

Klucz X.

XButton1 5

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

XButton2 6

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

Y 89

Klucz Y.

Z 90

Klucz Z.

Zoom 251

Klucz ZOOM.

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

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 wartość klucza ma dwie połówki, a bity o wysokiej kolejności zawierają kod klucza (który jest taki sam jak kod klucza wirtualnego systemu Windows) i bity o niskim porządku reprezentują modyfikatory kluczy, takie jak klawisze SHIFT, CONTROL i ALT.

Ostrzeżenie

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

Uwaga

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

  • Aby uzyskać bardziej precyzyjną kontrolę, użyj funkcji GetKeyStateinterfejsu API systemu Windows , GetAsyncKeyStatelub 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 producenta 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

Przestroga

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

Dotyczy

Zobacz też