Udostępnij za pośrednictwem


QueryContinueDragEventArgs.KeyState Właściwość

Definicja

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.

Dotyczy

Zobacz też