Partilhar via


ToolStripItem.QueryContinueDrag Evento

Definição

Ocorre durante uma operação do tipo "arrastar e soltar" e permite que a fonte de arrastar determine se a operação do tipo "arrastar e soltar" deve ser cancelada.

public:
 event System::Windows::Forms::QueryContinueDragEventHandler ^ QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler? QueryContinueDrag;
[<System.ComponentModel.Browsable(false)>]
member this.QueryContinueDrag : System.Windows.Forms.QueryContinueDragEventHandler 
Public Custom Event QueryContinueDrag As QueryContinueDragEventHandler 

Tipo de evento

Atributos

Exemplos

O exemplo de código a seguir demonstra o uso desse membro. No exemplo, um manipulador de eventos relata a ocorrência do 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 ToolStripItem, como um ToolStripButton ou ToolStripMenuItem. Em seguida, nomeie a instância ToolStripItem1 e verifique se o manipulador de eventos está associado ao QueryContinueDrag evento.

private void ToolStripItem1_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 ToolStripItem1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _ 
     Handles ToolStripItem1.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

O evento QueryContinueDrag é acionado quando há uma alteração no estado do teclado ou do botão do mouse durante uma operação do tipo "arrastar e soltar". O QueryContinueDrag evento permite que a fonte de arrastar determine se a operação de arrastar e soltar deve ser cancelada.

As observações a seguir descrevem como e quando eventos relacionados a operações de arrastar e soltar são gerados.

O DoDragDrop método determina o item no local do cursor atual. Em seguida, ele verifica se o item é um destino de soltar válido.

Se o item for um destino suspenso válido, o GiveFeedback evento será gerado com o efeito de arrastar e soltar especificado. Para obter uma lista de efeitos de arrastar e soltar, consulte a DragDropEffects enumeração .

As alterações na posição do cursor do mouse, no estado do teclado e no estado do botão do mouse são controladas da seguinte maneira:

  • Se o usuário sair de uma janela, o DragLeave evento será gerado.

  • Se o mouse inserir outro item, o DragEnter para esse controle será gerado.

  • Se o mouse se mover, mas permanecer dentro do mesmo item, o DragOver evento será gerado.

Se houver uma alteração no estado do botão de teclado ou mouse, o QueryContinueDrag evento será acionado e determinará se deseja continuar a arrastar, remover os dados ou cancelar a operação com base no valor da Action propriedade do QueryContinueDragEventArgsevento.

Se o valor de DragAction for Continue, o DragOver evento será gerado para continuar a operação e o GiveFeedback evento será gerado com o novo efeito para que os comentários visuais apropriados possam ser definidos. Para obter uma lista de efeitos suspensos válidos, consulte a DragDropEffects enumeração .

Os DragOver eventos e GiveFeedback são emparelhados para que, à medida que o mouse se move pelo destino de soltar, o usuário recebe os comentários mais atualizados sobre a posição do mouse, da seguinte maneira:

  • Se o valor de for Drop, o valor de DragAction efeito de queda será retornado à origem, para que o aplicativo de origem possa executar a operação apropriada nos dados de origem; por exemplo, corte os dados se a operação for uma movimentação.

  • Se o valor de DragAction for Cancel, o DragLeave evento será gerado.

Aplica-se a