Share via


Funcionalidad de arrastrar y colocar en formularios Windows Forms

Windows Forms incluye un conjunto de métodos, eventos y clases que implementan el comportamiento de arrastrar y colocar. En este tema se proporciona una introducción a la compatibilidad para arrastrar y colocar en Windows Forms. También vea Compatibilidad con las operaciones de arrastrar y colocar y con el Portapapeles.

Realizar operaciones de arrastrar y colocar

Para realizar una operación de arrastrar y colocar, use el método DoDragDrop de la clase Control. Para obtener más información acerca de cómo se realiza una operación de arrastrar y colocar, consulte DoDragDrop. Para obtener el rectángulo sobre el cual debe arrastrarse el puntero del mouse antes de que comience una operación de arrastrar y colocar, use la propiedad DragSize de la clase SystemInformation.

Hay dos categorías de eventos en una operación de arrastrar y colocar: eventos que se producen en el destino actual de la operación de arrastrar y colocar, y eventos que se producen en el origen de la operación de arrastrar y colocar.

Eventos en el destino actual

En la tabla siguiente se muestran los eventos que se producen en el destino actual de una operación de arrastrar y colocar.

Evento del mouse Descripción
DragEnter Este evento se produce cuando se arrastra un objeto dentro de los límites del control. El controlador de este evento recibe un argumento del tipo DragEventArgs.
DragOver Este evento se produce cuando se arrastra un objeto mientras el puntero del mouse está dentro de los límites del control. El controlador de este evento recibe un argumento del tipo DragEventArgs.
DragDrop Este evento se produce cuando se completa una operación de arrastrar y colocar. El controlador de este evento recibe un argumento del tipo DragEventArgs.
DragLeave Este evento se produce cuando se arrastra un objeto fuera de los límites del control. El controlador de este evento recibe un argumento del tipo EventArgs.

La clase DragEventArgs proporciona la ubicación del puntero del mouse, el estado actual de los botones del mouse y las teclas modificadoras del teclado, los datos que se están arrastrando y valores DragDropEffects que especifican las operaciones permitidas por el origen del evento de arrastrar y el efecto de colocar en el destino de la operación.

Eventos en el origen

En la tabla siguiente se muestran los eventos que se producen en el origen de la operación de arrastrar y colocar.

Evento del mouse Descripción
GiveFeedback Este evento se produce durante una operación de arrastre. Ofrece la oportunidad de dar una indicación visual al usuario de que se está produciendo la operación de arrastrar y colocar, por ejemplo, cambiar el puntero del mouse. El controlador de este evento recibe un argumento del tipo GiveFeedbackEventArgs.
QueryContinueDrag Este evento se produce durante una operación de arrastrar y colocar, y permite al origen de arrastre determinar si la operación de arrastrar y colocar tiene que cancelarse. El controlador de este evento recibe un argumento del tipo QueryContinueDragEventArgs.

La clase QueryContinueDragEventArgs proporciona el estado actual de los botones del mouse y las teclas modificadoras del teclado, un valor que especifica si se presionó la tecla ESC y un valor DragAction que se puede establecer para especificar si la operación de arrastrar y colocar debe continuar.

Vea también