ToolStripItem.QueryContinueDrag Evento
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.
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.