Keys Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje kódy klíčů a modifikátory.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
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
- Dědičnost
- Atributy
Pole
| Name | Hodnota | Description |
|---|---|---|
| Modifiers | -65536 | Bitová maska pro extrakci modifikátorů z hodnoty klíče. |
| None | 0 | Žádná klávesa se nestiskla. |
| LButton | 1 | Levé tlačítko myši. |
| RButton | 2 | Pravé tlačítko myši. |
| Cancel | 3 | Klíč CANCEL. |
| MButton | 4 | Prostřední tlačítko myši (myš se třemi tlačítky). |
| XButton1 | 5 | První x tlačítko myši (myš s pěti tlačítky). |
| XButton2 | 6 | Druhé x tlačítko myši (myš s pěti tlačítky). |
| Back | 8 | Klávesa BACKSPACE. |
| Tab | 9 | Klávesa TAB. |
| LineFeed | 10 | Klíč LINEFEED. |
| Clear | 12 | Klávesa CLEAR. |
| Enter | 13 | Klávesa ENTER. |
| Return | 13 | Klávesa RETURN. |
| ShiftKey | 16 | Klávesa SHIFT. |
| ControlKey | 17 | Klávesa CTRL. |
| Menu | 18 | Klávesa ALT. |
| Pause | 19 | Klávesa PAUSE. |
| Capital | 20 | Klávesa CAPS LOCK. |
| CapsLock | 20 | Klávesa CAPS LOCK. |
| HanguelMode | 21 | Klávesa režimu IME Hanguel. (udržováno kvůli kompatibilitě; použití |
| HangulMode | 21 | Klávesa režimu Hangul editoru IME. |
| KanaMode | 21 | Klávesa režimu IME Kana. |
| JunjaMode | 23 | Klávesa režimu editoru IME Junja. |
| FinalMode | 24 | Klávesa konečného režimu editoru IME. |
| HanjaMode | 25 | Klávesa režimu IME Hanja. |
| KanjiMode | 25 | Klávesa režimu IME Kanji. |
| Escape | 27 | Klávesa ESC. |
| IMEConvert | 28 | Klíč převodu editoru IME. |
| IMENonconvert | 29 | Nekonvertní klíč editoru IME. |
| IMEAccept | 30 | IME accept key, replaces IMEAceept. |
| IMEAceept | 30 | Klíč pro přijetí editoru IME. Zastaralé, použijte IMEAccept místo toho. |
| IMEModeChange | 31 | Klávesa pro změnu režimu editoru IME. |
| Space | 32 | Klávesa MEZERNÍK. |
| PageUp | 33 | Klávesa PAGE UP. |
| Prior | 33 | Klávesa PAGE UP. |
| Next | 34 | Klávesa PAGE DOWN. |
| PageDown | 34 | Klávesa PAGE DOWN. |
| End | 35 | Klíč END. |
| Home | 36 | Klávesa HOME. |
| Left | 37 | Klávesa ŠIPKA VLEVO. |
| Up | 38 | Klávesa ŠIPKA NAHORU. |
| Right | 39 | Klávesa ŠIPKA VPRAVO. |
| Down | 40 | Klávesa ŠIPKA DOLŮ. |
| Select | 41 | Klávesa SELECT. |
| 42 | Klávesa PRINT. |
|
| Execute | 43 | Klíč EXECUTE. |
| PrintScreen | 44 | Klávesa PRINT SCREEN. |
| Snapshot | 44 | Klávesa PRINT SCREEN. |
| Insert | 45 | Klíč INS. |
| Delete | 46 | Klíč DEL. |
| Help | 47 | Klíč NÁPOVĚDy. |
| D0 | 48 | Klíč 0. |
| D1 | 49 | Klíč 1. |
| D2 | 50 | Klíč 2. |
| D3 | 51 | Klíč 3. |
| D4 | 52 | Klíč 4. |
| D5 | 53 | Klíč 5. |
| D6 | 54 | Klíč 6. |
| D7 | 55 | Klíč 7. |
| D8 | 56 | Klíč 8. |
| D9 | 57 | Klíč 9. |
| A | 65 | Klíč A. |
| B | 66 | Klíč B. |
| C | 67 | Klávesa C. |
| D | 68 | Klíč D. |
| E | 69 | Klíč E. |
| F | 70 | Klávesa F. |
| G | 71 | Klávesa G. |
| H | 72 | Klávesa H. |
| I | 73 | Já klíč. |
| J | 74 | Klíč J. |
| K | 75 | Klíč K. |
| L | 76 | Klávesa L. |
| M | 77 | Klávesa M. |
| N | 78 | Klíč N. |
| O | 79 | Klíč O. |
| P | 80 | Klávesa P. |
| Q | 81 | Klávesa Q. |
| R | 82 | Klávesa R. |
| S | 83 | Klíč S. |
| T | 84 | Klávesa T. |
| U | 85 | Klávesa U. |
| V | 86 | Klíč V. |
| W | 87 | Klávesa W. |
| X | 88 | Klíč X. |
| Y | 89 | Klíč Y. |
| Z | 90 | Klávesa Z. |
| LWin | 91 | Levá klávesa s logem Windows (Microsoft natural keyboard). |
| RWin | 92 | Pravá klávesa s logem Windows (Microsoft natural keyboard). |
| Apps | 93 | Klávesa aplikace (Microsoft přirozené klávesnice). |
| Sleep | 95 | Klíč počítače pro režim spánku. |
| NumPad0 | 96 | Klávesa 0 na numerické klávesnici. |
| NumPad1 | 97 | 1 klávesa na numerické klávesnici. |
| NumPad2 | 98 | 2 klávesa na numerické klávesnici. |
| NumPad3 | 99 | 3 klávesa na numerické klávesnici. |
| NumPad4 | 100 | 4 klávesa na numerické klávesnici. |
| NumPad5 | 101 | Klávesa 5 na numerické klávesnici. |
| NumPad6 | 102 | Klávesa 6 na numerické klávesnici. |
| NumPad7 | 103 | Klávesa 7 na numerické klávesnici. |
| NumPad8 | 104 | Klávesa 8 na numerické klávesnici. |
| NumPad9 | 105 | Klávesa 9 na numerické klávesnici. |
| Multiply | 106 | Klíč násobení. |
| Add | 107 | Klíč pro přidání. |
| Separator | 108 | Oddělovač. |
| Subtract | 109 | Odečítá klíč. |
| Decimal | 110 | Desetinná čárka. |
| Divide | 111 | Klíč dělení. |
| F1 | 112 | Klávesa F1. |
| F2 | 113 | Klávesa F2. |
| F3 | 114 | Klávesa F3. |
| F4 | 115 | Klávesa F4. |
| F5 | 116 | Klávesa F5. |
| F6 | 117 | Klávesa F6. |
| F7 | 118 | Klávesa F7. |
| F8 | 119 | Klávesa F8. |
| F9 | 120 | Klávesa F9. |
| F10 | 121 | Klávesa F10. |
| F11 | 122 | Klávesa F11. |
| F12 | 123 | Klávesa F12. |
| F13 | 124 | Klávesa F13. |
| F14 | 125 | Klávesa F14. |
| F15 | 126 | Klávesa F15. |
| F16 | 127 | Klávesa F16. |
| F17 | 128 | Klávesa F17. |
| F18 | 129 | Klávesa F18. |
| F19 | 130 | Klávesa F19. |
| F20 | 131 | Klávesa F20. |
| F21 | 132 | Klávesa F21. |
| F22 | 133 | Klávesa F22. |
| F23 | 134 | Klávesa F23. |
| F24 | 135 | Klávesa F24. |
| NumLock | 144 | Klávesa NUM LOCK. |
| Scroll | 145 | Klávesa SCROLL LOCK. |
| LShiftKey | 160 | Levá klávesa SHIFT. |
| RShiftKey | 161 | Pravá klávesa SHIFT. |
| LControlKey | 162 | Levá klávesa CTRL. |
| RControlKey | 163 | Pravá klávesa CTRL. |
| LMenu | 164 | Levá klávesa ALT. |
| RMenu | 165 | Pravá klávesa ALT. |
| BrowserBack | 166 | Zadní klávesa prohlížeče. |
| BrowserForward | 167 | Klávesa pro přeposlání prohlížeče. |
| BrowserRefresh | 168 | Obnovovací klíč prohlížeče. |
| BrowserStop | 169 | Zarážka prohlížeče. |
| BrowserSearch | 170 | Hledaný klíč prohlížeče. |
| BrowserFavorites | 171 | Klíč oblíbených položek prohlížeče. |
| BrowserHome | 172 | Domovská klávesa prohlížeče. |
| VolumeMute | 173 | Klíč pro ztlumení svazku. |
| VolumeDown | 174 | Klávesa pro snížení hlasitosti. |
| VolumeUp | 175 | Klíč pro zvýšení hlasitosti. |
| MediaNextTrack | 176 | Další klíč sledování médií. |
| MediaPreviousTrack | 177 | Media previous track key. |
| MediaStop | 178 | Klávesa Stop média. |
| MediaPlayPause | 179 | Klávesa pozastavení přehrávání médií. |
| LaunchMail | 180 | Spouštěcí poštovní klíč. |
| SelectMedia | 181 | Klávesa pro výběr média. |
| LaunchApplication1 | 182 | Jeden klíč spouštěcí aplikace. |
| LaunchApplication2 | 183 | Spouštěcí aplikace má dva klíče. |
| Oem1 | 186 | Klíč OEM 1. |
| OemSemicolon | 186 | Středník OEM na standardní klávesnici USA. |
| Oemplus | 187 | Klávesa OEM plus na libovolné klávesnici země/oblasti. |
| Oemcomma | 188 | Klávesa čárky OEM na libovolné klávesnici země/oblasti |
| OemMinus | 189 | Klávesa OEM minus na libovolné klávesnici země/oblasti. |
| OemPeriod | 190 | Klávesa období OEM na libovolné klávesnici země/oblasti. |
| Oem2 | 191 | Klíč OEM 2. |
| OemQuestion | 191 | Klávesa otazníku OEM na standardní klávesnici USA |
| Oem3 | 192 | Klíč OEM 3. |
| Oemtilde | 192 | Klávesa tilda OEM na standardní klávesnici v USA. |
| Oem4 | 219 | Klíč OEM 4. |
| OemOpenBrackets | 219 | Otevřená závorka OEM na standardní klávesnici v USA. |
| Oem5 | 220 | Klíč OEM 5. |
| OemPipe | 220 | Klávesa kanálu OEM na standardní klávesnici USA. |
| Oem6 | 221 | Klíč OEM 6. |
| OemCloseBrackets | 221 | Klávesa pro uzavření OEM na standardní klávesnici v USA. |
| Oem7 | 222 | Klíč OEM 7. |
| OemQuotes | 222 | Jednoúčelový/dvojitý uvozovek OEM na standardní klávesnici v USA. |
| Oem8 | 223 | Klíč OEM 8. |
| Oem102 | 226 | Klíč OEM 102. |
| OemBackslash | 226 | Úhel závorka OEM nebo klávesa zpětného lomítka na klávesnici RT 102. |
| ProcessKey | 229 | Klíč KLÍČE PROCESU. |
| Packet | 231 | Používá se k předávání znaků Unicode, jako by se jednalo o stisknutí kláves. Hodnota klíče paketu je nízké slovo 32bitové hodnoty virtuálního klíče používané pro metody zadávání bez klávesnice. |
| Attn | 246 | Klíč ATTN. |
| Crsel | 247 | Klíč CRSEL. |
| Exsel | 248 | Klíč EXSEL. |
| EraseEof | 249 | Klíč ERASE EOF. |
| Play | 250 | Klávesa PLAY. |
| Zoom | 251 | Klávesa ZOOM. |
| NoName | 252 | Konstanta vyhrazená pro budoucí použití. |
| Pa1 | 253 | Klíč PA1. |
| OemClear | 254 | Klávesa CLEAR. |
| KeyCode | 65535 | Bitová maska extrahuje kód klíče z hodnoty klíče. |
| Shift | 65536 | Modifikační klávesa SHIFT. |
| Control | 131072 | Modifikační klávesa CTRL. |
| Alt | 262144 | Modifikační klávesa ALT. |
Příklady
Následující příklad kódu používá KeyDown událost k určení typu znaku zadaného do ovládacího prvku.
// 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
Poznámky
Třída Keys obsahuje konstanty pro zpracování vstupu klávesnice. Členy výčtu Klíče se skládají z kódu klíče a sady modifikátorů zkombinovaných do jedné celočíselné hodnoty. V aplikačním programovacím rozhraní Win32 (API) má hodnota klíče dvě poloviny, přičemž bity s vysokým pořadím obsahující kód klíče (který je stejný jako kód virtuálního klíče Windows) a bity s nízkým pořadím představujícími modifikátory klíčů, jako jsou klávesy SHIFT, CONTROL a ALT.
Warning
Nepoužívejte hodnoty v tomto výčtu pro kombinované bitové operace. Hodnoty v výčtu se vzájemně nevylučují.
Note
Tento výčet neposkytuje žádný způsob, jak otestovat, zda jsou aktuálně aktivovány klávesy CAPS LOCK nebo NUM LOCK. K určení, jestli jsou tyto klíče aktivované, můžete použít jednu z následujících technik:
IsKeyLocked Volejte metodu Control třídy.
K jemnému řízení použijte funkce rozhraní API Windows
GetKeyState,GetAsyncKeyStateneboGetKeyboardStatedefinované v user32.dll. Další informace o volání nativních funkcí naleznete v tématu Využívání nespravovaných funkcí knihovny DLL.
Následující tabulka ukazuje hodnoty kódu klíče reprezentované dvěma výčtovými hodnotami, které představují obecné klíče výrobce OEM (Original Equipment Manufacturer) a konkrétnější přidružení americké klávesnice.
| Šestnáctková hodnota | Americká klávesnice | Obecný OEM |
|---|---|---|
| bakalář umění | OemSemicolon | Oem1 |
| BF | OemQuestion | Oem2 |
| C0 | Oemtilde | Oem3 |
| databáze | OemOpenBrackets | Oem4 |
| DC | OemPipe | Oem5 |
| DD | OemCloseBrackets | Oem6 |
| DE | OemQuotes | Oem7 |
| E2 | OemBackslash | Oem102 |
Caution
Pro .NET Framework 2.0 byl přidán člen IMEAccept, který nahrazuje předchozí položku, IMEAceept, která byla zadána nesprávně. Starší verze byla zachována kvůli zpětné kompatibilitě, ale může být odstraněna v budoucích verzích .NET.