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 de glisser-déplacer et permet à la source de glisser-déplacer de déterminer si l’opération glisser-déplacer 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 à apprendre 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 ou d’ajouter le message à un multiligne TextBox.
Pour exécuter l’exemple de code, collez-le dans un projet qui contient une instance d’un type qui hérite ToolStripItem, par exemple un ToolStripButton ou ToolStripMenuItem. Nommez ensuite l’instance ToolStripItem1 et vérifiez que le gestionnaire d’événements est associé à l’événement QueryContinueDrag .
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é lorsqu’il existe une 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 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 actuel du curseur. 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éplacer, consultez l’énumération DragDropEffects .
Les modifications apportées à la position du curseur de la souris, à l’état du clavier et au bouton de la souris sont suivies de la manière suivante :
Si l’utilisateur se déplace hors d’une fenêtre, l’événement DragLeave est déclenché.
Si la souris entre un autre élément, le DragEnter 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é.
S’il existe une 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 le glisser-déplacer, déplacer 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 est DragActionContinue, l’événement DragOver est déclenché pour poursuivre l’opération et l’événement GiveFeedback est déclenché avec le nouvel effet afin que les commentaires visuels appropriés puissent être définis. Pour obtenir la liste des effets de suppression valides, consultez l’énumération DragDropEffects .
Les DragOver événements et GiveFeedback les événements 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 up-to-date sur la position de la souris, comme suit :
Si la valeur est DragAction
Drop, la valeur de 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 est DragAction
Cancel, l’événement DragLeave est déclenché.