Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Control.DragLeave, événement

Mise à jour : novembre 2007

Se produit lorsqu'un objet est déplacé hors des limites d'un contrôle.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public event EventHandler DragLeave
/** @event */
public void add_DragLeave (EventHandler value)
/** @event */
public void remove_DragLeave (EventHandler value)

JScript ne prend pas en charge les événements.

L'événement DragLeave se déclenche lorsque l'utilisateur fait glisser le curseur hors du contrôle ou lorsqu'il annule l'opération de glisser-déplacer.

Les lignes suivantes décrivent de quelle façon et à quel moment se déclenchent les événements liés aux opérations de glisser-déplacer.

La méthode DoDragDrop détermine quel est le contrôle situé sous l'emplacement actuel du curseur. Elle vérifie ensuite si le contrôle est une cible de déplacement valide.

Si le contrôle est une cible de déplacement valide, l'événement GiveFeedback est déclenché avec l'effet de glisser-déplacer spécifié. Pour obtenir la liste des effets de glisser-déplacer, consultez l'énumération DragDropEffects.

Les modifications de la position du curseur de la souris, de l'état du clavier et de l'état du bouton de la souris sont suivies.

  • Si l'utilisateur se déplace hors de la fenêtre, l'événement DragLeave se déclenche.

  • Si la souris entre dans un autre contrôle, le DragEnter du contrôle se déclenche.

  • Si la souris se déplace uniquement dans les limites du même contrôle, l'événement DragOver se déclenche.

Si une modification de l'état du clavier ou du bouton de la souris se produit, l'événement QueryContinueDrag se déclenche et détermine s'il faut continuer l'opération glisser, déplacer les données ou annuler l'opération en fonction de la valeur de la propriété Action de l'événement QueryContinueDragEventArgs.

  • Si la valeur de DragAction est Continue, l'événement DragOver est déclenché pour poursuivre l'opération et l'événement GiveFeedback est déclenché avec le nouvel effet, pour fournir une rétroaction visuelle appropriée. Pour obtenir la liste des effets d'opérations déplacer valides, consultez l'énumération DragDropEffects.

    Remarque :

    Les événements DragOver et GiveFeedback sont associés de telle sorte que lorsque la souris se trouve sur la cible de déplacement, l'utilisateur reçoit les commentaires les plus actuels sur la position de la souris.

  • Si la valeur de DragAction est Drop, la valeur de l'effet de déplacement est retournée à la source. Ainsi, l'application source peut effectuer l'opération appropriée sur les données sources : par exemple, couper les données si l'opération était un déplacement.

  • Si la valeur de DragAction est Cancel, l'événement DragLeave est déclenché.

Pour plus d'informations sur la gestion d'événements, consultez Consommation d'événements.

L'exemple de code suivant illustre une opération de glisser-déplacer entre deux contrôles ListBox. L'exemple appelle la méthode DoDragDrop lorsque l'action glisser commence. L'action glisser démarre si la souris a été déplacée de plus de SystemInformation.DragSize par rapport à sa position précédente au cours de l'événement MouseDown. La méthode IndexFromPoint est utilisée pour déterminer l'index de l'élément à faire glisser au cours de l'événement MouseDown.

L'exemple montre également comment utiliser des curseurs personnalisés pour l'opération de glisser-déplacer. L'exemple requiert qu'il existe deux fichiers curseur, 3dwarro.cur et 3dwno.cur, dans le répertoire de l'application pour les curseurs de glisser-déplacer (drag) et d'interdiction (no-drop) personnalisés, respectivement. Les curseurs personnalisés sont utilisés si UseCustomCursorsCheck CheckBox est activé. Les curseurs personnalisés sont définis dans le gestionnaire d'événements GiveFeedback.

L'état du clavier est évalué dans le gestionnaire d'événements DragOver du ListBox de droite, afin de déterminer l'opération glisser en fonction de l'état des touches MAJ, CTRL, ALT ou CTRL+ALT. L'emplacement dans la ListBox où l'opération déplacer peut avoir lieu est également déterminé au cours de l'événement DragOver. Si les données à déplacer ne sont pas String, DragEventArgs.Effect a alors la valeur None dans DragDropEffects. Enfin, l'état de l'opération de déplacement est affiché dans DropLocationLabel Label.

Les données à déplacer pour la ListBox de droite sont déterminées dans le gestionnaire d'événements DragDrop et la valeur String est ajoutée à l'emplacement approprié dans la ListBox. Si l'opération glisser va au-delà des limites du formulaire, l'opération de glisser-déplacer est annulée dans le gestionnaire d'événements QueryContinueDrag.

Cet extrait de code montre comment utiliser l'événement DragLeave. Consultez la méthode DoDragDrop pour obtenir un exemple de code complet.

private void ListDragTarget_DragLeave(object sender, System.EventArgs e) {
    // Reset the label text.
    DropLocationLabel.Text = "None";
}


private void listDragTarget_DragLeave(Object sender, System.EventArgs e)
{
    // Reset the label text.
    dropLocationLabel.set_Text("None");
} //listDragTarget_DragLeave


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.