Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando você cria um aplicativo que aceita as entradas de teclado do usuário, também convém monitorar as teclas modificadoras, como ALT, SHIFT e CTRL. Quando uma tecla modificadora for pressionada em combinação com outras teclas, ou com cliques do mouse, seu aplicativo pode responder de forma apropriada. Por exemplo, se a letra S for pressionada, isso pode simplesmente fazer um "s" aparecer na tela, mas se as teclas CTRL + S forem pressionadas, o documento atual pode ser salvo. Se você tratar o evento KeyDown, a propriedade Modifiers do KeyEventArgs recebidas pelo manipulador de eventos especifica quais teclas modificadoras são pressionadas. Como alternativa, a propriedade KeyData de KeyEventArgs especifica o caractere que foi pressionado, bem como qualquer tecla modificadora combinados com um OU bit a bit. No entanto, se você estiver tratando o evento KeyPress ou um evento do mouse, o manipulador de eventos não recebe essas informações. Nesse caso, você deve usar a propriedade ModifierKeys da classe Control. Em ambos os casos, você deve executar um bit a bit e do Keys valor e o valor que você está testando. O Keys enumeração oferece variações de cada tecla modificadora, portanto, é importante que você execute o bit a bit e com o valor correto. Por exemplo, a tecla Shift é representada por Shift, ShiftKey, RShiftKey e LShiftKey O valor correto para testar SHIFT como uma tecla modificadora Shift. Da mesma forma, para testar CTLR e ALT como modificadoras você deve usar os valores Control e Alt, respectivamente.
Observação |
|---|
Os programadores Visual Basic também podem acessar informações de chave através de Keyboard propriedade |
Como: Determinar Qual Tecla Modificadora foi Pressionada
Use o operador bit a bit AND com a propriedade ModifierKeys e um valor da enumeração Keys para determinar se uma tecla modificadora em particular está pressionada. O código exemplo a seguir mostra como determinar se a tecla Shift está pressionada em um manipulador de eventos KeyPress.
Public Sub TextBox1_KeyPress(ByVal sender As Object, _ ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress If ((Control.ModifierKeys And Keys.Shift) = Keys.Shift) Then MsgBox("Pressed " + Keys.Shift.ToString()) End If End Subpublic void TextBox1_KeyPress(object sender, KeyPressEventArgs e) { if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { MessageBox.Show("Pressed " + Keys.Shift); } }private: void textBox1_KeyPress(Object^ sender, KeyPressEventArgs^ e) { if ((Control::ModifierKeys & Keys::Shift) == Keys::Shift) { MessageBox::Show("Pressed " + Keys::Shift.ToString()); } }
Consulte também
Tarefas
Como: Determinar que CapsLock se está ligado no Visual Basic
Referência
Outros recursos
A Entrada do Teclado em um aplicativo de Formulários do Windows
Observação