ToolStripItem.QueryContinueDrag Ereignis

Definition

Tritt während eines Drag & Drop-Vorgangs ein. Dadurch kann die Quelle des Ziehvorgangs bestimmen, ob der Drag & Drop-Vorgang abgebrochen werden soll.

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 

Ereignistyp

Attribute

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht. Im Beispiel meldet ein Ereignishandler das Auftreten des Ereignisses QueryContinueDrag . Dieser Bericht hilft Ihnen, zu erfahren, wann das Ereignis eintritt, und kann Sie beim Debuggen unterstützen. Um über mehrere Ereignisse oder ereignisse zu berichten, die häufig auftreten, sollten Sie die Nachricht durch Console.WriteLine ein mehrlineiges TextBoxersetzen MessageBox.Show oder anfügen.

Um den Beispielcode auszuführen, fügen Sie ihn in ein Projekt ein, das eine instance eines Typs enthält, der von ToolStripItemerbt, z. B. ein ToolStripButton oder ToolStripMenuItem. Benennen Sie dann den instanceToolStripItem1, und stellen Sie sicher, dass der Ereignishandler dem QueryContinueDrag Ereignis zugeordnet ist.

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

Hinweise

Das QueryContinueDrag Ereignis wird ausgelöst, wenn sich der Tastatur- oder Maustastenzustand während eines Drag-and-Drop-Vorgangs ändert. Mit QueryContinueDrag dem Ereignis kann die Ziehquelle bestimmen, ob der Drag-and-Drop-Vorgang abgebrochen werden soll.

Die folgenden Hinweise beschreiben, wie und wann Ereignisse im Zusammenhang mit Drag-and-Drop-Vorgängen ausgelöst werden.

Die DoDragDrop -Methode bestimmt das Element unter der aktuellen Cursorposition. Anschließend wird überprüft, ob es sich bei dem Element um ein gültiges Ablageziel handelt.

Wenn das Element ein gültiges Ablageziel ist, wird das GiveFeedback Ereignis mit dem angegebenen Drag-and-Drop-Effekt ausgelöst. Eine Liste der Drag & Drop-Effekte finden Sie unter der DragDropEffects-Enumeration.

Änderungen der Mauscursorposition, des Tastaturzustands und des Maustastenzustands werden wie folgt nachverfolgt:

  • Wenn die Benutzeraktion das Fenster verlässt, wird das DragLeave-Ereignis ausgelöst.

  • Wenn die Maus ein anderes Element eingibt, wird das DragEnter für dieses Steuerelement ausgelöst.

  • Wenn sich die Maus bewegt, aber im selben Element verbleibt, wird das DragOver Ereignis ausgelöst.

Wenn sich der Tastatur- oder Maustastenzustand ändert, wird das QueryContinueDrag Ereignis ausgelöst und bestimmt, ob der Ziehvorgang fortgesetzt, die Daten gelöscht oder der Vorgang basierend auf dem Wert der Action -Eigenschaft des Ereignisses QueryContinueDragEventArgsabgebrochen werden soll.

Wenn der Wert von DragAction ist Continue, wird das DragOver Ereignis ausgelöst, um den Vorgang fortzusetzen, und das GiveFeedback Ereignis wird mit dem neuen Effekt ausgelöst, sodass geeignetes visuelles Feedback festgelegt werden kann. Eine Liste der gültigen Ablageeffekte finden Sie unter der DragDropEffects-Enumeration.

Die DragOver Ereignisse und GiveFeedback werden so gekoppelt, dass der Benutzer während der Mausbewegung über das Ablageziel wie folgt das aktuellste Feedback zur Mausposition erhält:

  • Wenn der Wert von istDrop, wird der Wert des DragAction Löscheffekts an die Quelle zurückgegeben, sodass die Quellanwendung den entsprechenden Vorgang für die Quelldaten ausführen kann. Beispielsweise schneiden Sie die Daten aus, wenn der Vorgang eine Verschiebung war.

  • Wenn der Wert von DragAction ist Cancel, wird das DragLeave -Ereignis ausgelöst.

Gilt für: