ToolStripItem.DragOver 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 quando o usuário arrasta um item para a área de 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 saber 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 por 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 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 evento DragOver é gerado quando o cursor do mouse entra nos limites do controle durante uma operação do tipo "arrastar e soltar".
Os comentários 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 sob o local atual do cursor. Em seguida, ele verifica se o item é um destino de soltar válido.
Se o item for um destino de soltar 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 do teclado ou do mouse, o QueryContinueDrag evento será acionado e determinará se deseja continuar o 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 DragAction for Drop, o valor do efeito de queda será retornado à origem, para que o aplicativo de origem possa executar a operação apropriada nos dados de origem; por exemplo, recorte os dados se a operação for uma movimentação.
Se o valor de DragAction for Cancel, o DragLeave evento será gerado.