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 los modificadores y códigos de tecla.
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
A | 65 | Tecla A. |
Add | 107 | Tecla agregar. |
Alt | 262144 | Tecla modificadora ALT. |
Apps | 93 | Tecla aplicación (Microsoft Natural Keyboard). |
Attn | 246 | Tecla ATTN. |
B | 66 | Tecla B. |
Back | 8 | Tecla RETROCESO. |
BrowserBack | 166 | Tecla Atrás del explorador. |
BrowserFavorites | 171 | Tecla Favoritos del explorador. |
BrowserForward | 167 | Tecla Adelante del explorador. |
BrowserHome | 172 | Tecla Inicio del explorador. |
BrowserRefresh | 168 | Tecla Actualizar del explorador. |
BrowserSearch | 170 | Tecla Buscar del explorador. |
BrowserStop | 169 | Tecla Detener del explorador. |
C | 67 | Tecla C. |
Cancel | 3 | Tecla CANCELAR. |
Capital | 20 | Tecla LOCK CAPS. |
CapsLock | 20 | Tecla LOCK CAPS. |
Clear | 12 | Tecla BORRAR. |
Control | 131072 | Tecla modificadora CTRL. |
ControlKey | 17 | Tecla CTRL. |
Crsel | 247 | Tecla CRSEL. |
D | 68 | Tecla D. |
D0 | 48 | Tecla 0. |
D1 | 49 | Tecla 1. |
D2 | 50 | Tecla 2. |
D3 | 51 | Tecla 3. |
D4 | 52 | Tecla 4. |
D5 | 53 | Tecla 5. |
D6 | 54 | Tecla 6. |
D7 | 55 | Tecla 7. |
D8 | 56 | Tecla 8. |
D9 | 57 | Tecla 9. |
Decimal | 110 | Tecla decimal. |
Delete | 46 | Tecla DEL. |
Divide | 111 | Tecla división. |
Down | 40 | Tecla FLECHA ABAJO. |
E | 69 | Tecla E. |
End | 35 | Tecla FIN. |
Enter | 13 | Tecla ENTRAR. |
EraseEof | 249 | Tecla ERASE EOF. |
Escape | 27 | Tecla ESC. |
Execute | 43 | Tecla EJECUTAR. |
Exsel | 248 | Tecla EXSEL. |
F | 70 | Tecla F. |
F1 | 112 | Tecla F1. |
F10 | 121 | Tecla F10. |
F11 | 122 | Tecla F11. |
F12 | 123 | Tecla F12. |
F13 | 124 | Tecla F13. |
F14 | 125 | Tecla F14. |
F15 | 126 | Tecla F15. |
F16 | 127 | Tecla F16. |
F17 | 128 | Tecla F17. |
F18 | 129 | Tecla F18. |
F19 | 130 | Tecla F19. |
F2 | 113 | Tecla F2. |
F20 | 131 | Tecla F20. |
F21 | 132 | Tecla F21. |
F22 | 133 | Tecla F22. |
F23 | 134 | Tecla F23. |
F24 | 135 | Tecla F24. |
F3 | 114 | Tecla F3. |
F4 | 115 | Tecla F4. |
F5 | 116 | Tecla F5. |
F6 | 117 | Tecla F6. |
F7 | 118 | Tecla F7. |
F8 | 119 | Tecla F8. |
F9 | 120 | Tecla F9. |
FinalMode | 24 | Tecla de modo final de Editores de métodos de entrada (IME). |
G | 71 | Tecla G. |
H | 72 | Tecla H. |
HanguelMode | 21 | Tecla de modo Hanguel de Editores de métodos de entrada (IME) (se mantiene por compatibilidad; use |
HangulMode | 21 | Tecla de modo Hangul de IME. |
HanjaMode | 25 | Tecla de modo Hanja de IME. |
Help | 47 | Tecla AYUDA. |
Home | 36 | Tecla INICIO. |
I | 73 | Tecla I. |
IMEAccept | 30 | Tecla aceptar de Editores de métodos de entrada (IME), reemplaza a IMEAceept. |
IMEAceept | 30 | Tecla aceptar de Editores de métodos de entrada (IME). Obsoleto, utilice IMEAccept en su lugar. |
IMEConvert | 28 | Tecla convertir de Editores de métodos de entrada (IME). |
IMEModeChange | 31 | Tecla cambio de modo de Editores de métodos de entrada (IME). |
IMENonconvert | 29 | Tecla no convertir de Editores de métodos de entrada (IME). |
Insert | 45 | Tecla INS. |
J | 74 | Tecla J. |
JunjaMode | 23 | Tecla de modo Junja de IME. |
K | 75 | Tecla K. |
KanaMode | 21 | Tecla de modo Kana de IME. |
KanjiMode | 25 | Tecla de modo Kanji de IME. |
KeyCode | 65535 | Máscara de bits para extraer un código de tecla de un valor de tecla. |
L | 76 | Tecla L. |
LaunchApplication1 | 182 | Tecla Iniciar aplicación uno. |
LaunchApplication2 | 183 | Tecla Iniciar aplicación dos. |
LaunchMail | 180 | Tecla Iniciar correo. |
LButton | 1 | Botón primario del mouse. |
LControlKey | 162 | Tecla CTRL izquierda. |
Left | 37 | Tecla FLECHA IZQUIERDA. |
LineFeed | 10 | Tecla AVANCE DE LÍNEA. |
LMenu | 164 | Tecla ALT izquierda. |
LShiftKey | 160 | Tecla MAYÚS izquierda. |
LWin | 91 | Tecla del logotipo de Windows izquierda (Microsoft Natural Keyboard). |
M | 77 | Tecla M. |
MButton | 4 | Botón central del mouse (mouse de tres botones). |
MediaNextTrack | 176 | Tecla multimedia Pista siguiente. |
MediaPlayPause | 179 | Tecla multimedia Pausa de reproducción. |
MediaPreviousTrack | 177 | Tecla multimedia Pista anterior. |
MediaStop | 178 | Tecla multimedia Detener. |
Menu | 18 | Tecla ALT. |
Modifiers | -65536 | Máscara de bits para extraer modificadores de un valor de tecla. |
Multiply | 106 | Tecla multiplicación. |
N | 78 | Tecla N. |
Next | 34 | Tecla AV PÁG. |
NoName | 252 | Constante reservada para un uso futuro. |
None | 0 | Ninguna tecla presionada. |
NumLock | 144 | Tecla LOCK NUM. |
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. |
O | 79 | Tecla O. |
Oem1 | 186 | Tecla 1 de OEM. |
Oem102 | 226 | Tecla 102 de OEM. |
Oem2 | 191 | Tecla 2 de OEM. |
Oem3 | 192 | Tecla 3 de OEM. |
Oem4 | 219 | Tecla 4 de OEM. |
Oem5 | 220 | Tecla 5 de OEM. |
Oem6 | 221 | Tecla 6 de OEM. |
Oem7 | 222 | Tecla 7 de OEM. |
Oem8 | 223 | Tecla 8 de OEM. |
OemBackslash | 226 | Tecla de corchete angular o barra diagonal inversa OEM en el teclado RT de 102 teclas. |
OemClear | 254 | Tecla BORRAR. |
OemCloseBrackets | 221 | Tecla de corchete de cierre OEM en un teclado US estándar. |
Oemcomma | 188 | Tecla de coma de OEM en el teclado de cualquier país o región. |
OemMinus | 189 | Tecla de signo menos de OEM en el teclado de cualquier país o región. |
OemOpenBrackets | 219 | Tecla de corchete de apertura OEM en un teclado US estándar. |
OemPeriod | 190 | Tecla de punto de OEM en el teclado de cualquier país o región. |
OemPipe | 220 | Tecla de barra vertical OEM en un teclado US estándar. |
Oemplus | 187 | Tecla de signo más de OEM en el teclado de cualquier país o región. |
OemQuestion | 191 | Tecla de signo de interrogación OEM en un teclado US estándar. |
OemQuotes | 222 | Tecla de comillas simples y dobles OEM en un teclado US estándar. |
OemSemicolon | 186 | Tecla de punto y coma OEM en un teclado US estándar. |
Oemtilde | 192 | Tecla de tilde OEM en un teclado US estándar. |
P | 80 | Tecla P. |
Pa1 | 253 | Tecla PA1. |
Packet | 231 | Se utiliza para pasar caracteres Unicode como si fueran pulsaciones de tecla. El valor de la clave de paquete es la palabra baja de un valor de tecla virtual de 32 bits utilizado para métodos de entrada sin teclado. |
PageDown | 34 | Tecla AV PÁG. |
PageUp | 33 | Tecla RE PÁG. |
Pause | 19 | Tecla PAUSA. |
Play | 250 | Tecla PLAY. |
42 | Tecla IMPRIMIR. |
|
PrintScreen | 44 | Tecla IMPRIMIR PANTALLA. |
Prior | 33 | Tecla RE PÁG. |
ProcessKey | 229 | Tecla PROCESS KEY. |
Q | 81 | Tecla Q. |
R | 82 | Tecla R. |
RButton | 2 | Botón secundario del mouse. |
RControlKey | 163 | Tecla CTRL derecha. |
Return | 13 | Tecla RETORNO. |
Right | 39 | Tecla FLECHA DERECHA. |
RMenu | 165 | Tecla ALT derecha. |
RShiftKey | 161 | Tecla MAYÚS derecha. |
RWin | 92 | Tecla del logotipo de Windows derecha (Microsoft Natural Keyboard). |
S | 83 | Tecla S. |
Scroll | 145 | Tecla BLOQ DESPL. |
Select | 41 | Tecla SELECCIONAR. |
SelectMedia | 181 | Tecla Seleccionar medio. |
Separator | 108 | Tecla separador. |
Shift | 65536 | Tecla modificadora MAYÚS. |
ShiftKey | 16 | Tecla MAYÚS. |
Sleep | 95 | La tecla de espera del equipo. |
Snapshot | 44 | Tecla IMPRIMIR PANTALLA. |
Space | 32 | Tecla BARRA ESPACIADORA. |
Subtract | 109 | Tecla resta. |
T | 84 | Tecla T. |
Tab | 9 | Tecla TAB. |
U | 85 | Tecla U. |
Up | 38 | Tecla FLECHA ARRIBA. |
V | 86 | Tecla V. |
VolumeDown | 174 | Tecla Bajar volumen. |
VolumeMute | 173 | Tecla Silenciar volumen. |
VolumeUp | 175 | Tecla Subir volumen. |
W | 87 | Tecla W. |
X | 88 | Tecla X. |
XButton1 | 5 | Primer botón x del mouse (mouse de cinco botones). |
XButton2 | 6 | Segundo botón x del mouse (mouse de cinco botones). |
Y | 89 | Tecla Y. |
Z | 90 | Tecla Z. |
Zoom | 251 | Tecla ZOOM. |
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 == 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
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 combinadas bit a bit. Los valores de la enumeración no son mutuamente excluyentes.
Nota
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 siguientes técnicas para determinar si estas claves están activadas:
Llame al método IsKeyLocked de la clase Control .
Para un control más preciso, use las funciones
GetKeyState
de la API de Windows ,GetAsyncKeyState
oGetKeyboardState
definidas en user32.dll, para ello. 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 |
---|---|---|
BA | OemSemicolon | Oem1 |
BF | OemQuestion | Oem2 |
C0 | Oemtilde | Oem3 |
DB | OemOpenBrackets | Oem4 |
DC | OemPipe | Oem5 |
DD | OemCloseBrackets | Oem6 |
DE | OemQuotes | Oem7 |
E2 | OemBackslash | Oem102 |
Precaución
Para .NET Framework 2.0, se agregó un IMEAccept miembro que sustituye a la entrada anterior, IMEAceept, que se escribió incorrectamente. La versión anterior se ha conservado por compatibilidad con versiones anteriores, pero se puede eliminar en versiones futuras de .NET Framework.