Keys Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica códigos de clave y modificadores.
Esta enumeración admite una combinación bit a bit de sus valores de miembro.
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
- Herencia
- Atributos
Campos
| Nombre | Valor | Description |
|---|---|---|
| Modifiers | -65536 | Máscara de bits que se va a extraer modificadores de un valor de clave. |
| None | 0 | No se presiona ninguna tecla. |
| LButton | 1 | Botón izquierdo del mouse. |
| RButton | 2 | Botón derecho del mouse. |
| Cancel | 3 | Tecla CANCEL. |
| MButton | 4 | Botón central del mouse (mouse de tres botones). |
| XButton1 | 5 | El primer botón x del mouse (mouse de cinco botones). |
| XButton2 | 6 | Segundo botón x del mouse (mouse de cinco botones). |
| Back | 8 | La tecla RETROCESO. |
| Tab | 9 | La tecla TAB. |
| LineFeed | 10 | Tecla LINEFEED. |
| Clear | 12 | Tecla CLEAR. |
| Enter | 13 | Tecla ENTRAR. |
| Return | 13 | Tecla RETURN. |
| ShiftKey | 16 | La tecla MAYÚS. |
| ControlKey | 17 | La tecla CTRL. |
| Menu | 18 | La tecla ALT. |
| Pause | 19 | La tecla PAUSA. |
| Capital | 20 | Tecla CAPS LOCK. |
| CapsLock | 20 | Tecla CAPS LOCK. |
| HanguelMode | 21 | Tecla del modo Desuelto de IME. (se mantiene por compatibilidad; use |
| HangulMode | 21 | Tecla de modo IME Hangul. |
| KanaMode | 21 | Tecla de modo Kana de IME. |
| JunjaMode | 23 | Tecla del modo Junja de IME. |
| FinalMode | 24 | Tecla de modo final de IME. |
| HanjaMode | 25 | Tecla de modo IME Hanja. |
| KanjiMode | 25 | Tecla de modo Kanji de IME. |
| Escape | 27 | La tecla ESC. |
| IMEConvert | 28 | Clave de conversión de IME. |
| IMENonconvert | 29 | Tecla noconvertida de IME. |
| IMEAccept | 30 | La clave de aceptación de IME reemplaza IMEAceepta . |
| IMEAceept | 30 | Clave de aceptación de IME. Obsoleto, use IMEAccept en su lugar. |
| IMEModeChange | 31 | Tecla de cambio del modo IME. |
| Space | 32 | La tecla BARRA ESPACIADORA. |
| PageUp | 33 | La tecla RE PÁG. |
| Prior | 33 | La tecla RE PÁG. |
| Next | 34 | La tecla AV PÁG. |
| PageDown | 34 | La tecla AV PÁG. |
| End | 35 | La tecla FIN. |
| Home | 36 | La tecla INICIO. |
| Left | 37 | Tecla FLECHA IZQUIERDA. |
| Up | 38 | Tecla FLECHA ARRIBA. |
| Right | 39 | Tecla FLECHA DERECHA. |
| Down | 40 | Tecla FLECHA ABAJO. |
| Select | 41 | Tecla SELECT. |
| 42 | Tecla PRINT. |
|
| Execute | 43 | Tecla EXECUTE. |
| PrintScreen | 44 | Tecla IMPRIMIR PANTALLA. |
| Snapshot | 44 | Tecla IMPRIMIR PANTALLA. |
| Insert | 45 | Tecla INS. |
| Delete | 46 | Tecla DEL. |
| Help | 47 | La clave de AYUDA. |
| D0 | 48 | La tecla 0. |
| D1 | 49 | La tecla 1. |
| D2 | 50 | La tecla 2. |
| D3 | 51 | La tecla 3. |
| D4 | 52 | La tecla 4. |
| D5 | 53 | La tecla 5. |
| D6 | 54 | La tecla 6. |
| D7 | 55 | La tecla 7. |
| D8 | 56 | La tecla 8. |
| D9 | 57 | La tecla 9. |
| A | 65 | La tecla A. |
| B | 66 | La tecla B. |
| C | 67 | La tecla C. |
| D | 68 | La tecla D. |
| E | 69 | La tecla E. |
| F | 70 | La tecla F. |
| G | 71 | La tecla G. |
| H | 72 | La tecla H. |
| I | 73 | La tecla I. |
| J | 74 | La tecla J. |
| K | 75 | La tecla K. |
| L | 76 | La tecla L. |
| M | 77 | La tecla M. |
| N | 78 | La tecla N. |
| O | 79 | La tecla O. |
| P | 80 | La tecla P. |
| Q | 81 | La tecla Q. |
| R | 82 | La tecla R. |
| S | 83 | La tecla S. |
| T | 84 | La tecla T. |
| U | 85 | La tecla U. |
| V | 86 | La tecla V. |
| W | 87 | La tecla W. |
| X | 88 | La tecla X. |
| Y | 89 | La tecla Y. |
| Z | 90 | La tecla Z. |
| LWin | 91 | Tecla del logotipo de Windows izquierda (teclado natural Microsoft). |
| RWin | 92 | Tecla del logotipo Windows derecha (teclado natural Microsoft). |
| Apps | 93 | Tecla de aplicación (Microsoft Teclado natural). |
| Sleep | 95 | Tecla de suspensión del equipo. |
| NumPad0 | 96 | Tecla 0 del teclado numérico. |
| NumPad1 | 97 | Tecla 1 del teclado numérico. |
| NumPad2 | 98 | Tecla 2 del teclado numérico. |
| NumPad3 | 99 | Tecla 3 del teclado numérico. |
| NumPad4 | 100 | Tecla 4 del teclado numérico. |
| NumPad5 | 101 | Tecla 5 del teclado numérico. |
| NumPad6 | 102 | Tecla 6 del teclado numérico. |
| NumPad7 | 103 | Tecla 7 del teclado numérico. |
| NumPad8 | 104 | Tecla 8 del teclado numérico. |
| NumPad9 | 105 | Tecla 9 del teclado numérico. |
| Multiply | 106 | Tecla de multiplicación. |
| Add | 107 | La clave add. |
| Separator | 108 | Clave separadora. |
| Subtract | 109 | Tecla resta. |
| Decimal | 110 | Tecla decimal. |
| Divide | 111 | Clave de división. |
| F1 | 112 | La tecla F1. |
| F2 | 113 | La tecla F2. |
| F3 | 114 | La tecla F3. |
| F4 | 115 | La tecla F4. |
| F5 | 116 | La tecla F5. |
| F6 | 117 | La tecla F6. |
| F7 | 118 | La tecla F7. |
| F8 | 119 | La tecla F8. |
| F9 | 120 | La tecla F9. |
| F10 | 121 | La tecla F10. |
| F11 | 122 | La tecla F11. |
| F12 | 123 | La tecla F12. |
| F13 | 124 | La tecla F13. |
| F14 | 125 | La tecla F14. |
| F15 | 126 | La tecla F15. |
| F16 | 127 | La tecla F16. |
| F17 | 128 | Tecla F17. |
| F18 | 129 | Tecla F18. |
| F19 | 130 | Tecla F19. |
| F20 | 131 | Tecla F20. |
| F21 | 132 | Tecla F21. |
| F22 | 133 | Tecla F22. |
| F23 | 134 | Tecla F23. |
| F24 | 135 | Tecla F24. |
| NumLock | 144 | Tecla NUM LOCK. |
| Scroll | 145 | La tecla BLOQ DESPL. |
| LShiftKey | 160 | Tecla MAYÚS izquierda. |
| RShiftKey | 161 | Tecla MAYÚS derecha. |
| LControlKey | 162 | Tecla CTRL izquierda. |
| RControlKey | 163 | Tecla CTRL derecha. |
| LMenu | 164 | Tecla ALT izquierda. |
| RMenu | 165 | Tecla ALT derecha. |
| BrowserBack | 166 | Tecla atrás del explorador. |
| BrowserForward | 167 | Tecla de reenvío del explorador. |
| BrowserRefresh | 168 | Tecla de actualización del explorador. |
| BrowserStop | 169 | Tecla de detención del explorador. |
| BrowserSearch | 170 | Tecla de búsqueda del explorador. |
| BrowserFavorites | 171 | Tecla favoritos del explorador. |
| BrowserHome | 172 | Tecla principal del explorador. |
| VolumeMute | 173 | Tecla de silenciación de volumen. |
| VolumeDown | 174 | Tecla de reducción de volumen. |
| VolumeUp | 175 | Tecla de subir volumen. |
| MediaNextTrack | 176 | Tecla de pista siguiente del medio. |
| MediaPreviousTrack | 177 | Tecla de seguimiento anterior del medio. |
| MediaStop | 178 | Tecla Detener multimedia. |
| MediaPlayPause | 179 | Tecla de pausa de reproducción multimedia. |
| LaunchMail | 180 | La clave de correo de inicio. |
| SelectMedia | 181 | Tecla de selección de medios. |
| LaunchApplication1 | 182 | La aplicación de inicio es una clave. |
| LaunchApplication2 | 183 | La aplicación de inicio dos claves. |
| Oem1 | 186 | Tecla OEM 1. |
| OemSemicolon | 186 | Tecla punto y coma OEM en un teclado estándar de EE. UU. |
| Oemplus | 187 | Tecla más OEM en cualquier teclado de país o región. |
| Oemcomma | 188 | Tecla de coma OEM en cualquier teclado de país o región. |
| OemMinus | 189 | Tecla menos oem en cualquier teclado de país o región. |
| OemPeriod | 190 | Tecla de período oem en cualquier teclado de país o región. |
| Oem2 | 191 | Tecla OEM 2. |
| OemQuestion | 191 | Tecla de signo de interrogación OEM en un teclado estándar de EE. UU. |
| Oem3 | 192 | Tecla OEM 3. |
| Oemtilde | 192 | Tecla tilde OEM en un teclado estándar de EE. UU. |
| Oem4 | 219 | Tecla OEM 4. |
| OemOpenBrackets | 219 | Tecla de corchete de apertura OEM en un teclado estándar de EE. UU. |
| Oem5 | 220 | Tecla OEM 5. |
| OemPipe | 220 | Tecla de canalización OEM en un teclado estándar de EE. UU. |
| Oem6 | 221 | Tecla OEM 6. |
| OemCloseBrackets | 221 | Tecla de cierre del OEM en un teclado estándar de EE. UU. |
| Oem7 | 222 | Tecla OEM 7. |
| OemQuotes | 222 | Tecla de comilla simple/doble OEM en un teclado estándar de EE. UU. |
| Oem8 | 223 | Tecla OEM 8. |
| Oem102 | 226 | Tecla OEM 102. |
| OemBackslash | 226 | El corchete angular oem o la tecla de barra diagonal inversa en el teclado rt 102 tecla. |
| ProcessKey | 229 | Clave DE PROCESO. |
| Packet | 231 | Se usa para pasar caracteres Unicode como si fueran pulsaciones de tecla. El valor de la tecla Packet es la palabra baja de un valor de clave virtual de 32 bits que se usa para los métodos de entrada que no son de teclado. |
| Attn | 246 | Tecla ATTN. |
| Crsel | 247 | Tecla CRSEL. |
| Exsel | 248 | Tecla EXSEL. |
| EraseEof | 249 | Tecla ERASE EOF. |
| Play | 250 | Tecla PLAY. |
| Zoom | 251 | Tecla ZOOM. |
| NoName | 252 | Constante reservada para uso futuro. |
| Pa1 | 253 | Tecla PA1. |
| OemClear | 254 | Tecla CLEAR. |
| KeyCode | 65535 | Máscara de bits para extraer un código de clave de un valor de clave. |
| Shift | 65536 | Tecla modificadora MAYÚS. |
| Control | 131072 | Tecla modificadora CTRL. |
| Alt | 262144 | Tecla modificadora ALT. |
Ejemplos
En el ejemplo de código siguiente se usa el KeyDown evento para determinar el tipo de carácter especificado en el 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)
{ // 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
Comentarios
La Keys clase contiene constantes para procesar la entrada del teclado. Los miembros de la enumeración Keys constan de un código de clave y un conjunto de modificadores combinados en un único valor entero. En la interfaz de programación de aplicaciones (API) Win32, un valor de clave tiene dos mitades, con los bits de orden superior que contienen el código de clave (que es el mismo que un código de clave virtual de Windows) y los bits de orden bajo que representan modificadores de clave, como las teclas MAYÚS, CONTROL y ALT.
Advertencia
No use los valores de esta enumeración para las operaciones bit a bit combinadas. Los valores de la enumeración no son mutuamente excluyentes.
Note
Esta enumeración no proporciona ninguna manera de probar si las claves CAPS LOCK o NUM LOCK están activadas actualmente. Puede usar una de las técnicas siguientes para determinar si estas claves están activadas:
Llame al IsKeyLocked método de la Control clase .
Para un control más preciso, use las funciones de API de Windows
GetKeyState,GetAsyncKeyStateoGetKeyboardStatedefinidas en user32.dll, para hacerlo. Para obtener más información sobre cómo llamar a funciones nativas, consulte Consumo de funciones DLL no administradas.
En la tabla siguiente se muestran los valores de código clave representados por dos valores enumerados, que representan las teclas generales del fabricante de equipos originales (OEM) y las asociaciones de teclado más específicas de EE. UU..
| Valor hexadecimal | Teclado de EE. UU. | General OEM |
|---|---|---|
| Licenciatura en Artes | OemSemicolon | Oem1 |
| BF | OemQuestion | Oem2 |
| C0 | Oemtilde | Oem3 |
| DB | OemOpenBrackets | Oem4 |
| DC | OemPipe | Oem5 |
| DD | OemCloseBrackets | Oem6 |
| DE | OemQuotes | Oem7 |
| E2 | OemBackslash | Oem102 |
Caution
Para .NET Framework 2.0, se agregó un miembro IMEAccept que sustituye a la entrada anterior, IMEAceept, que se escribió incorrectamente. La versión anterior se ha conservado por compatibilidad con versiones anteriores, pero puede eliminarse en versiones futuras de .NET.