Keys Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica os modificadores e códigos de tecla.
Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.
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
- Herança
- Atributos
Campos
A | 65 | A tecla A. |
Add | 107 | A tecla Adicionar. |
Alt | 262144 | A tecla modificadora ALT. |
Apps | 93 | A tecla Aplicativo (Microsoft Natural Keyboard). |
Attn | 246 | A tecla ATTN. |
B | 66 | A tecla B. |
Back | 8 | A tecla BACKSPACE. |
BrowserBack | 166 | A tecla Voltar do navegador. |
BrowserFavorites | 171 | A tecla Favoritos do navegador. |
BrowserForward | 167 | A tecla Avançar do navegador. |
BrowserHome | 172 | A tecla Início do navegador. |
BrowserRefresh | 168 | A tecla Atualizar do navegador. |
BrowserSearch | 170 | A tecla Pesquisar do navegador. |
BrowserStop | 169 | A tecla Parar do navegador. |
C | 67 | A tecla C. |
Cancel | 3 | A tecla CANCEL. |
Capital | 20 | A tecla CAPS LOCK. |
CapsLock | 20 | A tecla CAPS LOCK. |
Clear | 12 | A tecla CLEAR. |
Control | 131072 | A tecla modificadora CTRL. |
ControlKey | 17 | A tecla CTRL. |
Crsel | 247 | A tecla CRSEL. |
D | 68 | A tecla D. |
D0 | 48 | A tecla 0. |
D1 | 49 | A tecla 1. |
D2 | 50 | A tecla 2. |
D3 | 51 | A tecla 3. |
D4 | 52 | A tecla 4. |
D5 | 53 | A tecla 5. |
D6 | 54 | A tecla 6. |
D7 | 55 | A tecla 7. |
D8 | 56 | A tecla 8. |
D9 | 57 | A tecla 9. |
Decimal | 110 | A tecla Decimal. |
Delete | 46 | A tecla DEL. |
Divide | 111 | A tecla Dividir. |
Down | 40 | A tecla SETA PARA BAIXO. |
E | 69 | A tecla E. |
End | 35 | A tecla END. |
Enter | 13 | A tecla ENTER. |
EraseEof | 249 | A tecla ERASE EOF. |
Escape | 27 | A tecla ESC. |
Execute | 43 | A tecla EXECUTE. |
Exsel | 248 | A tecla EXSEL. |
F | 70 | A tecla F. |
F1 | 112 | A tecla F1. |
F10 | 121 | A tecla F10. |
F11 | 122 | A tecla F11. |
F12 | 123 | A tecla F12. |
F13 | 124 | A tecla F13. |
F14 | 125 | A tecla F14. |
F15 | 126 | A tecla F15. |
F16 | 127 | A tecla F16. |
F17 | 128 | A tecla F17. |
F18 | 129 | A tecla F18. |
F19 | 130 | A tecla F19. |
F2 | 113 | A tecla F2. |
F20 | 131 | A tecla F20. |
F21 | 132 | A tecla F21. |
F22 | 133 | A tecla F22. |
F23 | 134 | A tecla F23. |
F24 | 135 | A tecla F24. |
F3 | 114 | A tecla F3. |
F4 | 115 | A tecla F4. |
F5 | 116 | A tecla F5. |
F6 | 117 | A tecla F6. |
F7 | 118 | A tecla F7. |
F8 | 119 | A tecla F8. |
F9 | 120 | A tecla F9. |
FinalMode | 24 | A tecla do modo final do IME. |
G | 71 | A tecla G. |
H | 72 | A tecla H. |
HanguelMode | 21 | A tecla do modo IME Hanguel. (mantida para compatibilidade, use |
HangulMode | 21 | A tecla do modo IME Hangul. |
HanjaMode | 25 | A tecla do modo IME Hanja. |
Help | 47 | A tecla HELP. |
Home | 36 | A tecla HOME. |
I | 73 | A tecla I. |
IMEAccept | 30 | A tecla de aceitação do IME, substitui IMEAceept. |
IMEAceept | 30 | A tecla de aceitação do IME. Obsoleta, use IMEAccept em seu lugar. |
IMEConvert | 28 | A tecla de conversão do IME. |
IMEModeChange | 31 | A tecla de alteração do modo IME. |
IMENonconvert | 29 | A tecla IME nonconvert. |
Insert | 45 | A tecla INS. |
J | 74 | A tecla J. |
JunjaMode | 23 | A tecla do modo IME Junja. |
K | 75 | A tecla K. |
KanaMode | 21 | A tecla do modo IME Kana. |
KanjiMode | 25 | A tecla do modo IME Kanji. |
KeyCode | 65535 | O bitmask para extrair um código de tecla de um valor de tecla. |
L | 76 | A tecla L. |
LaunchApplication1 | 182 | A tecla iniciar aplicativo um. |
LaunchApplication2 | 183 | A tecla iniciar aplicativo dois. |
LaunchMail | 180 | A tecla iniciar email. |
LButton | 1 | O botão esquerdo do mouse. |
LControlKey | 162 | A tecla CTRL esquerda. |
Left | 37 | A tecla SETA PARA A ESQUERDA. |
LineFeed | 10 | A tecla LINEFEED. |
LMenu | 164 | A tecla ALT esquerda. |
LShiftKey | 160 | A tecla SHIFT esquerda. |
LWin | 91 | A tecla esquerda do logotipo do Windows (Microsoft Natural Keyboard). |
M | 77 | A tecla M. |
MButton | 4 | O botão do meio do mouse (mouse de três botões). |
MediaNextTrack | 176 | A tecla Próxima faixa da mídia. |
MediaPlayPause | 179 | A tecla Reproduzir Pausar mídia. |
MediaPreviousTrack | 177 | A tecla Faixa anterior de mídia. |
MediaStop | 178 | A tecla de Parada da mídia. |
Menu | 18 | A tecla ALT. |
Modifiers | -65536 | O bitmask para extrair os modificadores de um valor de tecla. |
Multiply | 106 | A tecla Multiply. |
N | 78 | A tecla N. |
Next | 34 | A tecla PAGE DOWN. |
NoName | 252 | Uma constante reservada para uso futuro. |
None | 0 | Nenhuma tecla pressionada. |
NumLock | 144 | A tecla NUM LOCK. |
NumPad0 | 96 | A tecla 0 no teclado numérico. |
NumPad1 | 97 | A tecla 1 no teclado numérico. |
NumPad2 | 98 | A tecla 2 no teclado numérico. |
NumPad3 | 99 | A tecla 3 no teclado numérico. |
NumPad4 | 100 | A tecla 4 no teclado numérico. |
NumPad5 | 101 | A tecla 5 no teclado numérico. |
NumPad6 | 102 | A tecla 6 no teclado numérico. |
NumPad7 | 103 | A tecla 7 no teclado numérico. |
NumPad8 | 104 | A tecla 8 no teclado numérico. |
NumPad9 | 105 | A tecla 9 no teclado numérico. |
O | 79 | A tecla O. |
Oem1 | 186 | A tecla 1 do OEM. |
Oem102 | 226 | A tecla 102 do OEM. |
Oem2 | 191 | A tecla 2 do OEM. |
Oem3 | 192 | A tecla 3 do OEM. |
Oem4 | 219 | A tecla 4 do OEM. |
Oem5 | 220 | A tecla 5 do OEM. |
Oem6 | 221 | A tecla 6 do OEM. |
Oem7 | 222 | A tecla 7 do OEM. |
Oem8 | 223 | A tecla 8 do OEM. |
OemBackslash | 226 | A tecla de colchete angular ou barra invertida do OEM no teclado de 102 teclas RT. |
OemClear | 254 | A tecla CLEAR. |
OemCloseBrackets | 221 | A tecla de colchete de fechamento do OEM em um teclado padrão dos EUA. |
Oemcomma | 188 | A tecla vírgula do OEM no teclado de qualquer país/região. |
OemMinus | 189 | A tecla menos do OEM no teclado de qualquer país/região. |
OemOpenBrackets | 219 | A tecla de colchete de abertura do OEM em um teclado padrão dos EUA. |
OemPeriod | 190 | A tecla ponto do OEM no teclado de qualquer país/região. |
OemPipe | 220 | A tecla de barra vertical do OEM em um teclado padrão dos EUA. |
Oemplus | 187 | A tecla mais do OEM no teclado de qualquer país/região. |
OemQuestion | 191 | A tecla de interrogação do OEM em um teclado padrão dos EUA. |
OemQuotes | 222 | A tecla de aspas simples/duplas do OEM em um teclado padrão dos EUA. |
OemSemicolon | 186 | A tecla de ponto-e-vírgula do OEM em um teclado padrão dos EUA. |
Oemtilde | 192 | A tecla de til do OEM em um teclado padrão dos EUA. |
P | 80 | A tecla P. |
Pa1 | 253 | A tecla PA1. |
Packet | 231 | Usada para passar a caracteres Unicode como se fossem pressionamentos de teclas. O valor da tecla Packet é a palavra inferior de um valor de tecla virtual de 32 bits usado para métodos de entrada diferentes do teclado. |
PageDown | 34 | A tecla PAGE DOWN. |
PageUp | 33 | A tecla PAGE UP. |
Pause | 19 | A tecla PAUSE. |
Play | 250 | A tecla PLAY. |
42 | A tecla PRINT. |
|
PrintScreen | 44 | A tecla PRINT SCREEN. |
Prior | 33 | A tecla PAGE UP. |
ProcessKey | 229 | A tecla PROCESS KEY. |
Q | 81 | A tecla Q. |
R | 82 | A tecla R. |
RButton | 2 | O botão direito do mouse. |
RControlKey | 163 | A tecla CTRL direita. |
Return | 13 | A tecla RETURN. |
Right | 39 | A tecla SETA PARA A DIREITA. |
RMenu | 165 | A tecla ALT direita. |
RShiftKey | 161 | A tecla SHIFT direita. |
RWin | 92 | A tecla direita do logotipo do Windows (Microsoft Natural Keyboard). |
S | 83 | A tecla S. |
Scroll | 145 | A tecla SCROLL LOCK. |
Select | 41 | A tecla SELECT. |
SelectMedia | 181 | A tecla Selecionar mídia. |
Separator | 108 | A tecla Separador. |
Shift | 65536 | A tecla modificadora SHIFT. |
ShiftKey | 16 | A tecla SHIFT. |
Sleep | 95 | A tecla de suspensão do computador. |
Snapshot | 44 | A tecla PRINT SCREEN. |
Space | 32 | A tecla BARRA DE ESPAÇOS. |
Subtract | 109 | A tecla Subtrair. |
T | 84 | A tecla T. |
Tab | 9 | A tecla TAB. |
U | 85 | A tecla U. |
Up | 38 | A tecla SETA PARA CIMA. |
V | 86 | A tecla V. |
VolumeDown | 174 | A tecla Abaixar volume. |
VolumeMute | 173 | A tecla Ativar mudo. |
VolumeUp | 175 | A tecla Aumentar volume. |
W | 87 | A tecla W. |
X | 88 | A tecla X. |
XButton1 | 5 | O primeiro botão x do mouse (mouse de cinco botões). |
XButton2 | 6 | O segundo botão x do mouse (mouse de cinco botões). |
Y | 89 | A tecla Y. |
Z | 90 | A tecla Z. |
Zoom | 251 | A tecla ZOOM. |
Exemplos
O exemplo de código a seguir usa o KeyDown evento para determinar o tipo de caractere inserido no controle .
// 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
Comentários
A Keys classe contém constantes para processar a entrada do teclado. Os membros da enumeração Keys consistem em um código de chave e um conjunto de modificadores combinados em um único valor inteiro. Na API (interface de programação de aplicativo) Win32, um valor de chave tem duas metades, com os bits de ordem alta contendo o código de chave (que é o mesmo que um código de chave virtual do Windows) e os bits de baixa ordem que representam modificadores de chave, como as teclas SHIFT, CONTROL e ALT.
Aviso
Não use os valores nesta enumeração para operações bit a bit combinadas. Os valores na enumeração não são mutuamente exclusivos.
Observação
Essa enumeração não fornece nenhuma maneira de testar se as chaves CAPS LOCK ou NUM LOCK estão ativadas no momento. Você pode usar uma das seguintes técnicas para determinar se essas chaves estão ativadas:
Chame o IsKeyLocked método da Control classe .
Para um controle mais fino, use as funções da API do Windows ,
GetAsyncKeyState
ouGetKeyboardState
definidasGetKeyState
em user32.dll, para fazer isso. Para obter mais informações sobre como chamar funções nativas, consulte Consumindo funções de DLL não gerenciadas.
A tabela a seguir mostra os valores de código-chave representados por dois valores enumerados, representando as teclas OEM (fabricante de equipamentos originais) gerais e as associações de teclado mais específicas dos EUA.
Valor hexadecimal | Teclado dos EUA | OEM geral |
---|---|---|
BA | OemSemicolon | Oem1 |
BF | OemQuestion | Oem2 |
C0 | Oemtilde | Oem3 |
DB | OemOpenBrackets | Oem4 |
DC | OemPipe | Oem5 |
DD | OemCloseBrackets | Oem6 |
DE | OemQuotes | Oem7 |
E2 | OemBackslash | Oem102 |
Cuidado
Para o .NET Framework 2.0, um membro IMEAccept foi adicionado que substitui a entrada anterior, IMEAceept, que foi escrita incorretamente. A versão mais antiga foi mantida para compatibilidade com versões anteriores, mas pode ser excluída em versões futuras do .NET Framework