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 |
---|---|
Esse evento ocorre quando um objeto é arrastado para os limites do controle. O manipulador deste evento recebe um argumento do tipo DragEventArgs. |
|
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. |
|
Esse evento ocorre quando uma operação arrastar-e-soltar é concluída. O manipulador deste evento recebe um argumento do tipo DragEventArgs. |
|
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 |
---|---|
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. |
|
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.