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 E bit a bit do valor Keys apropriado e o valor que você está testando.A enumeração Keys oferece variações de cada tecla modificadora, portanto é importante que você execute o E bit a bit 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 de Visual Basic também podem acessar informações importantes por meio do Keyboard propriedade. Para mais informações, consulte: Objeto My.Computer.Keyboard. |
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 se CapsLock está ativado no Visual Basic
Referência
Outros recursos
A Entrada do Teclado em um aplicativo de Formulários do Windows
Observação: