Partager via


ToolStripItem.QueryContinueDrag Événement

Définition

Se produit pendant une opération glisser-déplacer et permet à la source de cette opération de déterminer si l'opération doit être annulée.

public:
 event System::Windows::Forms::QueryContinueDragEventHandler ^ QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler QueryContinueDrag;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.QueryContinueDragEventHandler? QueryContinueDrag;
[<System.ComponentModel.Browsable(false)>]
member this.QueryContinueDrag : System.Windows.Forms.QueryContinueDragEventHandler 
Public Custom Event QueryContinueDrag As QueryContinueDragEventHandler 

Type d'événement

Attributs

Exemples

L’exemple de code suivant illustre l’utilisation de ce membre. Dans l’exemple, un gestionnaire d’événements signale l’occurrence de l’événement QueryContinueDrag . Ce rapport vous aide à savoir quand l’événement se produit et peut vous aider à déboguer. Pour signaler plusieurs événements ou événements qui se produisent fréquemment, envisagez de MessageBox.ShowConsole.WriteLine remplacer par ou d’ajouter le message à un multiligne TextBox.

Pour exécuter l’exemple de code, collez-le dans un projet qui contient un instance d’un type qui hérite de ToolStripItem, tel qu’un ToolStripButton ou ToolStripMenuItem. Nommez ensuite le instance ToolStripItem1 et vérifiez que le gestionnaire d’événements est associé à l’événementQueryContinueDrag.

private void ToolStripItem1_QueryContinueDrag(Object sender, QueryContinueDragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "QueryContinueDrag Event" );
}
Private Sub ToolStripItem1_QueryContinueDrag(sender as Object, e as QueryContinueDragEventArgs) _ 
     Handles ToolStripItem1.QueryContinueDrag

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "EscapePressed", e.EscapePressed)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Action", e.Action)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"QueryContinueDrag Event")

End Sub

Remarques

L’événement QueryContinueDrag est déclenché en cas de modification de l’état du clavier ou du bouton de la souris lors d’une opération de glisser-déplacer. L’événement QueryContinueDrag permet à la source de glisser-déplacer de déterminer si l’opération de glisser-déplacer doit être annulée.

Les remarques suivantes décrivent comment et quand les événements liés aux opérations de glisser-déplacer sont déclenchés.

La DoDragDrop méthode détermine l’élément sous l’emplacement du curseur actuel. Il vérifie ensuite si l’élément est une cible de déplacement valide.

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

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 :

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

  • Si la souris entre dans un autre élément, le DragEnter pour ce contrôle est déclenché.

  • Si la souris se déplace mais reste dans le même élément, l’événement DragOver est déclenché.

En cas de modification de l’état du clavier ou du bouton de la souris, l’événement QueryContinueDrag est déclenché et détermine s’il faut continuer à glisser, déposer les données ou annuler l’opération en fonction de la valeur de la Action propriété de l’événement QueryContinueDragEventArgs.

Si la valeur de DragAction est Continue, l’événement DragOver est déclenché pour continuer l’opération et l’événement GiveFeedback est déclenché avec le nouvel effet afin de pouvoir définir un retour visuel approprié. Pour obtenir la liste des effets de dépôt valides, consultez l’énumération DragDropEffects.

Les DragOver événements et GiveFeedback sont associés de sorte que, lorsque la souris se déplace sur la cible de déplacement, l’utilisateur reçoit les commentaires les plus à jour sur la position de la souris, comme suit :

  • Si la valeur de est Drop, la valeur de DragAction l’effet de suppression est retournée à la source, de sorte que 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é.

S’applique à