QueryContinueDragEventArgs.KeyState Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o estado atual das teclas SHIFT, CTRL e ALT.
public:
property int KeyState { int get(); };
public int KeyState { get; }
member this.KeyState : int
Public ReadOnly Property KeyState As Integer
Valor da propriedade
O estado atual das teclas SHIFT, CTRL e ALT.
Exemplos
O exemplo de código a seguir demonstra o uso desse membro. No exemplo, um manipulador de eventos relata a ocorrência do Control.QueryContinueDrag evento. Este relatório ajuda você a aprender quando o evento ocorre e pode ajudá-lo na depuração. Para relatar vários eventos ou eventos que ocorrem com frequência, considere substituir MessageBox.ShowConsole.WriteLine ou acrescentar a mensagem a uma multilinha TextBox.
Para executar o código de exemplo, cole-o em um projeto que contém uma instância de um tipo que herda de Control, como um Button ou ComboBox. Em seguida, nomeie a instância Control1
e verifique se o manipulador de eventos está associado ao Control.QueryContinueDrag evento.
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
Comentários
Os bits definidos na KeyState propriedade identificam as teclas ou os botões do mouse que foram pressionados durante a operação. Por exemplo, se o botão esquerdo do mouse for pressionado, o primeiro bit na KeyState propriedade será definido. Você pode usar o operador bit a bit AND
para testar um determinado estado de chave.
A tabela a seguir lista os bits definidos para um evento especificado.
bit | Chave |
---|---|
1 | O botão esquerdo do mouse. |
2 | O botão direito do mouse. |
4 | A tecla SHIFT. |
8 | A tecla CTL. |
16 | O botão do meio do mouse. |
32 | A tecla ALT. |
Por padrão, o QueryContinueDrag evento define Action como DragAction.Drop se KeyState indica que o botão esquerdo, médio ou direito do mouse está pressionado.