Compartilhar via


KeyEventArgs.KeyData Propriedade

Definição

Obtém os dados da chave de um evento KeyDown ou KeyUp.

public:
 property System::Windows::Forms::Keys KeyData { System::Windows::Forms::Keys get(); };
public System.Windows.Forms.Keys KeyData { get; }
member this.KeyData : System.Windows.Forms.Keys
Public ReadOnly Property KeyData As Keys

Valor da propriedade

Um Keys que representa o código da chave que foi pressionada, combinado com sinalizadores de modificador que indicam qual combinação das teclas CTRL, SHIFT e ALT foi pressionada ao mesmo tempo.

Exemplos

O exemplo de código a seguir demonstra o uso desse membro. No exemplo, um manipulador de eventos relata a ocorrência do Control.KeyDown evento. Este relatório ajuda você a saber quando o evento ocorre e pode ajudá-lo na depuração. Para relatar vários eventos ou eventos que ocorrem com frequência, considere substituir MessageBox.ShowConsole.WriteLine por ou acrescentar a mensagem a uma multilinha TextBox.

Para executar o código de exemplo, cole-o em um projeto que contém uma instância de um tipo que herda de Control, como um Button ou ComboBox. Em seguida, nomeie a instância Control1 e verifique se o manipulador de eventos está associado ao Control.KeyDown evento.

private void Control1_KeyDown(Object sender, KeyEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Alt", e.Alt );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Control", e.Control );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Handled", e.Handled );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyCode", e.KeyCode );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyValue", e.KeyValue );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyData", e.KeyData );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Modifiers", e.Modifiers );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Shift", e.Shift );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "SuppressKeyPress", e.SuppressKeyPress );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "KeyDown Event" );
}
Private Sub Control1_KeyDown(sender as Object, e as KeyEventArgs) _ 
     Handles Control1.KeyDown

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Alt", e.Alt)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Control", e.Control)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Handled", e.Handled)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyCode", e.KeyCode)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyValue", e.KeyValue)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyData", e.KeyData)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Modifiers", e.Modifiers)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Shift", e.Shift)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "SuppressKeyPress", e.SuppressKeyPress)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"KeyDown Event")

End Sub

Comentários

Você pode usar constantes de Keys para extrair informações da KeyData propriedade . Use o operador AND bit a bit para comparar dados retornados por KeyData com constantes em Keys para obter informações sobre quais teclas o usuário pressionou. Para determinar se uma tecla modificadora específica foi pressionada, use as Controlpropriedades , Shifte Alt .

Aplica-se a

Confira também