Condividi tramite


KeyEventArgs.KeyData Proprietà

Definizione

Ottiene i dati del tasto relativi a un evento KeyDown o 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

Valore della proprietà

Oggetto Keys che rappresenta il codice del tasto premuto, combinato con eventuali flag di modifica che indicano quali tra i tasti CTRL, MAIUSC e ALT sono stati premuti contemporaneamente.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di questo membro. Nell'esempio un gestore eventi segnala l'occorrenza dell'evento Control.KeyDown . Questo report consente di apprendere quando si verifica l'evento e può essere utile per eseguire il debug. Per segnalare più eventi o eventi che si verificano spesso, è consigliabile sostituire MessageBox.Show con Console.WriteLine o aggiungere il messaggio a una multilinea TextBox.

Per eseguire il codice di esempio, incollarlo in un progetto contenente un'istanza di un tipo che eredita da Control, ad esempio un Button oggetto o ComboBox. Assegnare quindi un nome all'istanza Control1 e assicurarsi che il gestore eventi sia associato all'evento Control.KeyDown .

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

Commenti

È possibile usare costanti da Keys per estrarre informazioni dalla KeyData proprietà. Usare l'operatore AND bit per confrontare i dati restituiti da KeyData con costanti in Keys per ottenere informazioni sui tasti premuti dall'utente. Per determinare se è stato premuto un tasto modificatore specifico, usare le Controlproprietà , Shifte Alt .

Si applica a

Vedi anche