KeyEventArgs.KeyData Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Wartość właściwości
Reprezentujący Keys kod klawisza dla naciśnięcia klawisza, w połączeniu z flagami modyfikatora wskazującymi, która kombinacja klawiszy CTRL, SHIFT i ALT została jednocześnie naciśnięta.
Przykłady
Poniższy przykład kodu przedstawia użycie tego elementu członkowskiego. W tym przykładzie program obsługi zdarzeń zgłasza wystąpienie zdarzenia Control.KeyDown . Ten raport pomaga dowiedzieć się, kiedy wystąpi zdarzenie i może pomóc w debugowaniu. Aby zgłosić wiele zdarzeń lub zdarzeń, które występują często, rozważ zastąpienie MessageBox.Show komunikatu ciągiem Console.WriteLine lub dołączeniem go do wielowierszowego TextBoxelementu .
Aby uruchomić przykładowy kod, wklej go w projekcie zawierającym wystąpienie typu dziedziczonego z Controlelementu , takiego jak Button lub ComboBox. Następnie nadaj wystąpieniu Control1
nazwę i upewnij się, że program obsługi zdarzeń jest skojarzony ze zdarzeniem 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
Uwagi
Możesz użyć stałych z Keys , aby wyodrębnić informacje z KeyData właściwości. Użyj operatora bitowego AND, aby porównać dane zwracane przez KeyData z stałymi w, Keys aby uzyskać informacje o klawiszach, które użytkownik nacisnął. Aby określić, czy został naciśnięty określony klawisz modyfikatora, użyj Controlwłaściwości , Shifti Alt .