Funcionalidade de Arrastar-e-Soltar nos Formulários do Windows

Os Formulários do Windows incluem um conjunto de métodos, eventos e as classes que implementam comportamento arrastar-e-soltar. Este tópico fornece uma visão geral sobre o suporte a arrastar-e-soltar em Formulários do Windows. Para obter mais informações, consulte Operações de Arrastar e Soltar e Suporte à Área de Transferência e Operações de Arrastar e Soltar e Suporte à Área de Transferência e Operações de Arrastar e Soltar e Suporte à Área de Transferência e Operações de Arrastar e Soltar e Suporte à Área de Transferência.

Executando Operações de Arrastar-e-Soltar

Para executar uma operação arrastar-e-soltar, use o método DoDragDrop da classe Control. Para obter mais informações sobre como uma operação arrastar-e-soltar é executada, consulte DoDragDrop. Para obter o retângulo sobre o qual o ponteiro do mouse deve ser arrastado antes de iniciar uma operação de arrastar-e-soltar, use a propriedade DragSize da classe SystemInformation.

Os eventos relacionados a operações de arrastar-e-soltar

Há duas categorias de eventos em uma operação de arrastar e soltar: eventos que ocorrem no destino atual da operação arrastar-e-soltar e eventos que ocorrem na origem da operação arrastar e soltar.

Eventos no Alvo Atual

A tabela a seguir mostra os eventos que ocorrem no alvo atual de uma operação arrastar-e-soltar.

Evento do Mouse

Descrição

DragEnter

Esse evento ocorre quando um objeto é arrastado para os limites do controle. O manipulador deste evento recebe um argumento do tipo DragEventArgs.

DragOver

Esse evento ocorre quando um objeto é arrastado enquanto o ponteiro do mouse está dentro dos limites do controle. O manipulador deste evento recebe um argumento do tipo DragEventArgs.

DragDrop

Esse evento ocorre quando uma operação arrastar-e-soltar é concluída. O manipulador deste evento recebe um argumento do tipo DragEventArgs.

DragLeave

Esse evento ocorre quando um objeto é arrastado para fora dos limites do controle. O manipulador deste evento recebe um argumento do tipo EventArgs.

A classe DragEventArgs fornece o local do ponteiro do mouse, o estado atual dos botões do mouse e teclas modificadoras do teclado, os dados sendo arrastados e os valores DragDropEffects que especificam as operações permitidas pela origem do evento de arrastar e o efeito de soltar do alvo.

Eventos na Origem

A tabela a seguir mostra os eventos que ocorrem na origem da operação arrastar-e-soltar.

Evento do Mouse

Descrição

GiveFeedback

Esse evento ocorre durante uma operação de arrastar. Ele fornece uma oportunidade para dar uma indicação visual para o usuário de que a operação arrastar-e-soltar está ocorrendo, como alterar o ponteiro do mouse. O manipulador deste evento recebe um argumento do tipo GiveFeedbackEventArgs.

QueryContinueDrag

Esse evento é gerado durante uma operação de arrastar-e-soltar e permite que a fonte determine se a operação arrastar-e-soltar deve ser cancelada. O manipulador deste evento recebe um argumento do tipo QueryContinueDragEventArgs.

A classe QueryContinueDragEventArgs fornece o estado atual do mouse botões e teclas modificadoras de teclado, um valor que especifica se a tecla ESC foi pressionada e um valor DragAction que pode ser definido para especificar se a operação arrastar-e-soltar deve continuar.

Consulte também

Outros recursos

Entrada do Mouse em um Aplicativo de Formulários do Windows