Fonctionnalité de glisser-déplacer dans les Windows Forms

Windows Forms comprend un ensemble de méthodes, événements et classes qui implémentent le comportement de glisser-déposer. Cette rubrique offre une vue d’ensemble de la prise en charge du glisser-déposer dans Windows Forms. Consultez également les opérations glisser-déplacer et la prise en charge du Presse-papiers.

Exécution d’opérations de glisser-déposer

Pour effectuer une opération de glisser-déposer, utilisez la méthode DoDragDrop de la classe Control. Pour plus d'informations sur la façon d'exécuter une opération de glisser-déplacer, consultez DoDragDrop. Pour obtenir le rectangle sur lequel le pointeur de la souris doit être déplacé pour qu'une opération de glisser-déplacer commence, utilisez la propriété DragSize de la classe SystemInformation.

Il existe deux catégories d'événements dans une opération de glisser-déplacer : les événements qui se produisent sur la cible actuelle de l'opération de glisser-déplacer et ceux qui se produisent sur la source de l'opération de glisser-déplacer.

Événements sur la cible actuelle

Le tableau suivant présente les événements qui se produisent sur la cible actuelle d'une opération de glisser-déplacer.

Événement de souris Description
DragEnter Cet événement se produit quand un objet est déplacé dans les limites d'un contrôle. Le gestionnaire pour cet événement reçoit un argument de type DragEventArgs.
DragOver Cet événement se produit quand un objet est déplacé alors que le pointeur de la souris se trouve dans les limites du contrôle. Le gestionnaire pour cet événement reçoit un argument de type DragEventArgs.
DragDrop Cet événement se produit quand une opération de glisser-déplacer est terminée. Le gestionnaire pour cet événement reçoit un argument de type DragEventArgs.
DragLeave Cet événement se produit quand un objet est déplacé hors des limites d'un contrôle. Le gestionnaire pour cet événement reçoit un argument de type EventArgs.

La classe DragEventArgs fournit l'emplacement du pointeur de la souris, l'état actuel des boutons de la souris et des touches de modification du clavier, les données déplacées et des valeurs DragDropEffects qui spécifient les opérations autorisées par la source de l'événement de glisser et l'effet de déplacement cible pour cette opération.

Événements sur la source

Le tableau suivant présente les événements qui se produisent sur la source de l’opération de glisser-déposer.

Événement de souris Description
GiveFeedback Cet événement se produit pendant une opération glisser. Il permet de fournir une aide visuelle à l’utilisateur (par exemple la modification du pointeur de souris) pour signaler que l’opération de glisser-déplacer est en cours. Le gestionnaire pour cet événement reçoit un argument de type GiveFeedbackEventArgs.
QueryContinueDrag Cet événement se produit pendant une opération de glisser-déposer et permet à la source de cette opération de déterminer si l’opération doit être annulée. Le gestionnaire pour cet événement reçoit un argument de type QueryContinueDragEventArgs.

La classe QueryContinueDragEventArgs fournit l'état actuel des boutons de la souris et des touches de modification du clavier, une valeur indiquant si la touche Échappement a été enfoncée et une valeur DragAction qui peut être définie pour spécifier si l'opération de glisser-déplacer doit continuer.

Voir aussi