QueryContinueDragEventArgs.KeyState 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.
Pobiera bieżący stan klawiszy SHIFT, CTRL i ALT.
public:
property int KeyState { int get(); };
public int KeyState { get; }
member this.KeyState : int
Public ReadOnly Property KeyState As Integer
Wartość właściwości
Bieżący stan klawiszy SHIFT, CTRL i ALT.
Przykłady
W poniższym przykładzie kodu pokazano użycie tego elementu członkowskiego. W tym przykładzie program obsługi zdarzeń zgłasza wystąpienie Control.QueryContinueDrag zdarzenia. Ten raport pomaga dowiedzieć się, kiedy wystąpi zdarzenie, i może pomóc w debugowaniu. Aby zgłosić wiele zdarzeń lub często występujących zdarzeń, rozważ zastąpienie MessageBox.Show komunikatu ciągiem Console.WriteLine lub dołączenie 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.QueryContinueDrag .
private void Control1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}
Private Sub Control1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _
Handles Control1.QueryContinueDrag
Dim messageBoxVB as New System.Text.StringBuilder()
messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed)
messageBoxVB.AppendLine()
messageBoxVB.AppendFormat("{0} = {1}", "Action", e.Action)
messageBoxVB.AppendLine()
MessageBox.Show(messageBoxVB.ToString(),"QueryContinueDrag Event")
End Sub
Uwagi
Bity ustawione we KeyState właściwości identyfikują klawisze lub przyciski myszy, które zostały naciśnięte podczas operacji. Jeśli na przykład lewy przycisk myszy zostanie naciśnięty, zostanie ustawiony pierwszy bit we KeyState właściwości . Aby przetestować dany stan klucza, można użyć operatora bitowego AND
.
W poniższej tabeli wymieniono bity ustawione dla określonego zdarzenia.
Bitowych | Klucz |
---|---|
1 | Lewy przycisk myszy. |
2 | Prawy przycisk myszy. |
4 | Klawisz SHIFT. |
8 | Klucz CTL. |
16 | Środkowy przycisk myszy. |
32 | Klawisz ALT. |
Domyślnie QueryContinueDrag zdarzenie ustawia wartość ActionDragAction.Drop , jeśli KeyState wskazuje, że jest naciśnięty lewy, środkowy lub prawy przycisk myszy.