Control.DragLeave 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 um objeto é arrastado para fora dos limites do controle.
public:
event EventHandler ^ DragLeave;
public event EventHandler DragLeave;
public event EventHandler? DragLeave;
member this.DragLeave : EventHandler
Public Custom Event DragLeave As EventHandler
Tipo de evento
Exemplos
O exemplo de código a seguir demonstra uma operação de arrastar e soltar entre dois ListBox controles. O exemplo chama o DoDragDrop método quando a ação de arrastar é iniciada. A ação de arrastar será iniciada se o mouse tiver se movido mais do que SystemInformation.DragSize do local do mouse durante o MouseDown evento. O IndexFromPoint método é usado para determinar o índice do item a ser arrastado durante o MouseDown
evento.
O exemplo também demonstra o uso de cursores personalizados para a operação de arrastar e soltar. O exemplo requer que dois arquivos de cursor, 3dwarro.cur
e 3dwno.cur
, existam no diretório do aplicativo, para os cursores de arrastar e sem soltar personalizados, respectivamente. Os cursores personalizados serão usados se o UseCustomCursorsCheck
CheckBox for verificado. Os cursores personalizados são definidos no GiveFeedback manipulador de eventos.
O estado do teclado é avaliado no DragOver manipulador de eventos à direita ListBox
para determinar qual operação de arrastar será baseada no estado das teclas SHIFT, CTRL, ALT ou CTRL+ALT. O local no qual ListBox
a queda ocorreria também é determinado durante o DragOver
evento. Se os dados a serem suspensos não forem um String
, o DragEventArgs.Effect será definido None
como em DragDropEffects. Por fim, o status da lista suspensa é exibido no DropLocationLabel
Label.
Os dados a serem suspensos para a direita ListBox
são determinados no DragDrop manipulador de eventos e o String
valor é adicionado no local apropriado no ListBox
. Se a operação de arrastar se mover para fora dos limites do formulário, a operação de arrastar e soltar será cancelada no QueryContinueDrag manipulador de eventos.
Este trecho de código demonstra o uso do DragLeave evento. Consulte o DoDragDrop método para obter o exemplo de código completo.
void ListDragTarget_DragLeave( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Reset the label text.
DropLocationLabel->Text = "None";
}
private void ListDragTarget_DragLeave(object sender, EventArgs e)
{
// Reset the label text.
DropLocationLabel.Text = "None";
}
Private Sub ListDragTarget_DragLeave(ByVal sender As Object, ByVal e As EventArgs) Handles ListDragTarget.DragLeave
' Reset the label text.
DropLocationLabel.Text = "None"
End Sub
Comentários
O evento DragLeave é gerado quando o usuário arrasta o cursor fora do controle ou o usuário cancela a operação do tipo "arrastar e soltar" atual.
A seguir, descreve como e quando eventos relacionados a operações de arrastar e soltar são gerados.
O DoDragDrop método determina o controle sob o local do cursor atual. Em seguida, ele verifica se o controle é um destino de soltar válido.
Se o controle 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.
Se o usuário sair de uma janela, o DragLeave evento será gerado.
Se o mouse entrar em outro controle, o DragEnter para esse controle será gerado.
Se o mouse se mover, mas permanecer dentro do mesmo controle, 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 .Observaçã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.
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.
Para obter mais informações sobre como lidar com eventos, consulte Manipulando e levantando eventos.
Aplica-se a
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários