Compartilhar via


ToolStripItem.DragOver Evento

Definição

Ocorre quando o usuário arrasta um item sobre a área do cliente deste item.

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

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 DragOver 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 linha TextBoxmúltipla.

Para executar o código de exemplo, cole-o em um projeto que contenha 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 DragOver evento.

private void ToolStripItem1_DragOver(Object sender, DragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Data", e.Data );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "DragOver Event" );
}
Private Sub ToolStripItem1_DragOver(sender as Object, e as DragEventArgs) _ 
     Handles ToolStripItem1.DragOver

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Data", e.Data)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"DragOver Event")

End Sub

Comentários

O DragOver evento é gerado quando o cursor do mouse se move dentro dos limites do controle durante uma operação de arrastar e soltar.

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 atual do cursor. Em seguida, verifica se o item é um destino suspenso 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 controle será acionado.

  • 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 do teclado ou do 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 DragAction for, 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 Continueser definidos. Para obter uma lista de efeitos suspensos válidos, consulte a DragDropEffects enumeração.

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

  • Se o valor forDrop, o valor do DragAction efeito de queda será retornado para a 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 for DragActionCancel, o DragLeave evento será gerado.

Aplica-se a