ToolStripItem.DragOver Evento
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Ocorre quando o utilizador arrasta um item sobre a área cliente desse 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 seguinte exemplo de código demonstra a utilização deste elemento. No exemplo, um gestor de eventos reporta a ocorrência do DragOver evento. Este relatório ajuda-o a saber quando o evento ocorre e pode ajudá-lo na depuração. Para reportar múltiplos eventos ou eventos que ocorrem frequentemente, considere substituir MessageBox.Show ou Console.WriteLine anexar a mensagem a uma multilinha TextBox.
Para executar o código de exemplo, cole-o num projeto que contenha uma instância de um tipo que herda de ToolStripItem, como um ToolStripButton ou ToolStripMenuItem. Depois, nomeie a instância ToolStripItem1 e assegure que o gestor 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
Observações
O DragOver evento é ativado quando o cursor do rato se move dentro dos limites do controlo durante uma operação de arrastar e largar.
As observações seguintes descrevem como e quando eventos relacionados com operações de arrastar e largar são levantados.
O DoDragDrop método determina o item sob a localização atual do cursor. Depois verifica se o item é um alvo válido para drop.
Se o item for um alvo válido de largada, o GiveFeedback evento é levantado com o efeito de arrastar e largar especificado. Para uma lista de efeitos de arrastar e largar, consulte a DragDropEffects enumeração.
As alterações na posição do cursor do rato, no estado do teclado e no estado dos botões do rato são acompanhadas da seguinte forma:
Se o utilizador sair de uma janela, o DragLeave evento é elevado.
Se o rato introduzir outro item, o DragEnter para esse controlo é elevado.
Se o rato se mover mas permanecer dentro do mesmo item, o DragOver evento é elevado.
Se houver uma alteração no estado do teclado ou do rato, o QueryContinueDrag evento é ativado e determina se continua a arrastar, se se largam os dados ou se cancelam a operação com base no valor Action da propriedade do QueryContinueDragEventArgsevento .
Se o valor de DragAction for , o Continue evento é elevado para continuar a operação e o DragOver evento é elevado com o novo efeito para que o feedback visual adequado GiveFeedbackpossa ser estabelecido. Para uma lista de efeitos de queda válidos, consulte a DragDropEffects enumeração.
Os DragOver eventos e GiveFeedback são emparelhados de modo que, à medida que o rato se move pelo alvo de queda, o utilizador receba o feedback de maior up-todata sobre a posição do rato, da seguinte forma:
Se o valor de DragAction for Drop, o valor do efeito de queda é devolvido à fonte, para que a aplicação fonte possa realizar a operação apropriada sobre os dados fonte; por exemplo, cortar os dados se a operação for uma mudança.
Se o valor de DragAction for Cancel, o DragLeave evento é elevado.