Condividi tramite


QueryContinueDragEventArgs.KeyState Proprietà

Definizione

Ottiene lo stato corrente dei tasti MAIUSC, CTRL e ALT.

public:
 property int KeyState { int get(); };
public int KeyState { get; }
member this.KeyState : int
Public ReadOnly Property KeyState As Integer

Valore della proprietà

Stato corrente dei tasti MAIUSC, CTRL e ALT.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di questo membro. Nell'esempio un gestore eventi segnala l'occorrenza dell'evento Control.QueryContinueDrag . Questo report consente di apprendere quando si verifica l'evento e di facilitare il debug. Per segnalare più eventi o eventi che si verificano frequentemente, è consigliabile sostituire MessageBox.Show con Console.WriteLine o accodare il messaggio a un oggetto 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.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

Commenti

I bit impostati nella KeyState proprietà identificano i tasti o i pulsanti del mouse premuti durante l'operazione. Ad esempio, se viene premuto il pulsante sinistro del mouse, viene impostato il primo bit nella KeyState proprietà . È possibile usare l'operatore bit per AND bit per verificare lo stato di una determinata chiave.

Nella tabella seguente sono elencati i bit impostati per un evento specificato.

Pezzo Chiave
1 Pulsante sinistro del mouse.
2 Pulsante destro del mouse.
4 Tasto MAIUSC.
8 Tasto CTL.
16 Pulsante centrale del mouse.
32 Tasto ALT.

Per impostazione predefinita, l'evento QueryContinueDrag imposta su ActionDragAction.Drop se KeyState indica che viene premuto il pulsante sinistro, centrale o destro del mouse.

Si applica a

Vedi anche