ToolStripItem.DragEnter Événement

Définition

Se produit lorsque l'utilisateur fait glisser un élément dans la zone cliente de cet élément.Occurs when the user drags an item into the client area of this item.

public:
 event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
member this.DragEnter : System.Windows.Forms.DragEventHandler 
Public Custom Event DragEnter As DragEventHandler 
Attributs

Exemples

L’exemple de code suivant montre comment convertir les X propriétés Y et en client Point.The following code example shows how to convert the X and Y properties to a client Point. Cet exemple de code fait partie d’un exemple plus complet fourni ToolStripRenderer pour la classe.This code example is part of a larger example provided for the ToolStripRenderer class.

// This method defines the DragOver event behavior. 
protected override void OnDragOver(DragEventArgs dea)
{
    base.OnDragOver(dea);

    // Get the ToolStripButton control 
    // at the given mouse position.
    Point p = new Point(dea.X, dea.Y);
    ToolStripButton item = this.GetItemAt(
        this.PointToClient(p)) as ToolStripButton;

    // If the ToolStripButton control is the empty cell,
    // indicate that the move operation is valid.
    if( item == this.emptyCellButton )
    {
        // Set the drag operation to indicate a valid move.
        dea.Effect = DragDropEffects.Move;
    }
}
' This method defines the DragOver event behavior. 
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
   MyBase.OnDragOver(dea)
   
   ' Get the ToolStripButton control 
   ' at the given mouse position.
   Dim p As New Point(dea.X, dea.Y)
   Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
   
   
   ' If the ToolStripButton control is the empty cell,
   ' indicate that the move operation is valid.
     If item Is Me.emptyCellButton Then
         ' Set the drag operation to indicate a valid move.
         dea.Effect = DragDropEffects.Move
     End If
 End Sub

Remarques

L' DragEnter événement est déclenché lorsque l’utilisateur fait glisser pour la première fois le curseur de la souris sur l’élément pendant une opération de glisser-déplacer.The DragEnter event is raised when the user first drags the mouse cursor over the item during a drag-and-drop operation.

Les remarques suivantes décrivent comment et quand les événements liés aux opérations de glisser-déplacer sont déclenchés.The following remarks describe how and when events related to drag-and-drop operations are raised.

La DoDragDrop méthode détermine l’élément situé sous l’emplacement actuel du curseur.The DoDragDrop method determines the item under the current cursor location. Il vérifie ensuite si l’élément est une cible de dépôt valide.It then checks to see if the item is a valid drop target.

Si l’élément est une cible de déplacement valide, GiveFeedback l’événement est déclenché avec l’effet de glisser-déplacer spécifié.If the item is a valid drop target, the GiveFeedback event is raised with the drag-and-drop effect specified. Pour obtenir la liste des effets de glisser-déposer, consultez l’énumération DragDropEffects.For a list of drag-and-drop effects, see the DragDropEffects enumeration.

Les modifications apportées à la position du curseur de la souris, à l’état du clavier et à l’état du bouton de la souris sont suivies de la manière suivante :Changes in the mouse cursor position, keyboard state, and mouse button state are tracked in the following manner:

  • Si l'utilisateur se déplace hors de la fenêtre, l'événement DragLeave est déclenché.If the user moves out of a window, the DragLeave event is raised.

  • Si la souris entre dans un autre élément DragEnter , le pour ce contrôle est déclenché.If the mouse enters another item, the DragEnter for that control is raised.

  • Si la souris se déplace mais reste dans le même élément, DragOver l’événement est déclenché.If the mouse moves but stays within the same item, the DragOver event is raised.

En cas de modification de l’état du clavier ou du bouton de la QueryContinueDrag souris, l’événement est déclenché 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 Action valeur de la QueryContinueDragEventArgspropriété de l’événement.If there is a change in the keyboard or mouse button state, the QueryContinueDrag event is raised and determines whether to continue the drag, to drop the data, or to cancel the operation based on the value of the Action property of the event's QueryContinueDragEventArgs.

Si la valeur de DragAction est Continue, l' DragOver événement est déclenché pour poursuivre l’opération et l' GiveFeedback événement est déclenché avec le nouvel effet, si bien que la rétroaction visuelle appropriée peut être définie.If the value of DragAction is Continue, the DragOver event is raised to continue the operation and the GiveFeedback event is raised with the new effect so appropriate visual feedback can be set. Pour obtenir la liste des effets de dépôt valides, consultez l’énumération DragDropEffects.For a list of valid drop effects, see the DragDropEffects enumeration.

Les DragOver événements GiveFeedback et sont associés de telle sorte que lorsque la souris passe sur la cible de déplacement, l’utilisateur reçoit les commentaires les plus à jour sur la position de la souris, comme suit :The DragOver and GiveFeedback events are paired so that as the mouse moves across the drop target, the user is given the most up-to-date feedback on the mouse's position, as follows:

  • Si la valeur de DragAction est Drop, la valeur de l’effet de dépôt 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.If the value of DragAction is Drop, the drop effect value is returned to the source, so the source application can perform the appropriate operation on the source data; for example, cut the data if the operation was a move.

  • Si la valeur de DragAction est Cancel, l' DragLeave événement est déclenché.If the value of DragAction is Cancel, the DragLeave event is raised.

Notes

Les X propriétés Y et deDragEventArgs sont exprimées en coordonnées d’écran, et non en coordonnées clientes.The X and Y properties of the DragEventArgs are in screen coordinates, not client coordinates.

Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.For more information about handling events, see Handling and Raising Events.

S’applique à