ToolStripItem.QueryContinueDrag Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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é.