ToolStripItem.QueryContinueDrag ToolStripItem.QueryContinueDrag ToolStripItem.QueryContinueDrag ToolStripItem.QueryContinueDrag Event

Definition

Tritt während eines Drag & Drop-Vorgangs ein. Dadurch kann die Quelle des Ziehvorgangs bestimmen, ob der Drag & Drop-Vorgang abgebrochen werden soll.Occurs during a drag-and-drop operation and allows the drag source to determine whether the drag-and-drop operation should be canceled.

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

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht.The following code example demonstrates the use of this member. Im Beispiel meldet ein Ereignishandler das Vorkommen des QueryContinueDrag Ereignisses.In the example, an event handler reports on the occurrence of the QueryContinueDrag event. Mit diesem Bericht können Sie lernen, wann das Ereignis auftritt und Sie beim Debuggen unterstützen können.This report helps you to learn when the event occurs and can assist you in debugging. Wenn Sie mehrere Ereignisse oder Ereignisse, die häufig auftreten, melden möchten, MessageBox.Show empfiehlt Console.WriteLine es sich, durch zu ersetzen oder die Nachricht TextBoxan eine mehrzeilige anfügen.To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

Um den Beispielcode auszuführen, fügen Sie ihn in ein Projekt ein, das eine Instanz eines Typs enthält, der ToolStripItemvon erbt, ToolStripButton z ToolStripMenuItem. b. oder.To run the example code, paste it into a project that contains an instance of a type that inherits from ToolStripItem, such as a ToolStripButton or ToolStripMenuItem. Benennen Sie dann die ToolStripItem1 Instanz, und stellen Sie sicher, dass der Ereignis QueryContinueDrag Handler dem Ereignis zugeordnet ist.Then name the instance ToolStripItem1 and ensure that the event handler is associated with the QueryContinueDrag event.

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 während eines Drag & Drop-Vorgangs eine Änderung im Tastatur-oder Maustasten Zustand vorliegt.The QueryContinueDrag event is raised when there is a change in the keyboard or mouse button state during a drag-and-drop operation. Das QueryContinueDrag Ereignis ermöglicht der Zieh Quelle, zu bestimmen, ob der Drag & Drop-Vorgang abgebrochen werden soll.The QueryContinueDrag event allows the drag source to determine whether the drag-and-drop operation should be canceled.

Die folgenden Hinweise beschreiben, wie und wann Ereignisse im Zusammenhang mit Drag & Drop-Vorgängen ausgelöst werden.The following remarks describe how and when events related to drag-and-drop operations are raised.

Die DoDragDrop -Methode bestimmt das Element unter der aktuellen Cursorposition.The DoDragDrop method determines the item under the current cursor location. Anschließend wird überprüft, ob es sich bei dem Element um ein gültiges Ablage Ziel handelt.It then checks to see if the item is a valid drop target.

Wenn das Element ein gültiges Ablage Ziel ist, wird GiveFeedback das Ereignis mit dem angegebenen Drag & Drop-Effekt ausgelöst.If the item is a valid drop target, the GiveFeedback event is raised with the drag-and-drop effect specified. Eine Liste der Drag & Drop-Effekte finden Sie unter der DragDropEffects-Enumeration.For a list of drag-and-drop effects, see the DragDropEffects enumeration.

Änderungen an der Position des Mauszeigers, dem Tastatur Zustand und dem Mauszeiger Status werden folgendermaßen nachverfolgt:Changes in the mouse cursor position, keyboard state, and mouse button state are tracked in the following manner:

  • Wenn die Benutzeraktion das Fenster verlässt, wird das DragLeave-Ereignis ausgelöst.If the user moves out of a window, the DragLeave event is raised.

  • Wenn die Maus in ein anderes Element gelangt DragEnter , wird der für dieses Steuerelement ausgelöst.If the mouse enters another item, the DragEnter for that control is raised.

  • Wenn die Maus bewegt wird, aber im selben Element bleibt, DragOver wird das-Ereignis ausgelöst.If the mouse moves but stays within the same item, the DragOver event is raised.

Wenn sich der Tastatur-oder Maustasten Zustand ändert, wird das QueryContinueDrag -Ereignis ausgelöst, und es wird bestimmt, ob der Zieh Vorgang fortgesetzt, die Daten abgelegt oder der Vorgang basierend auf dem Wert Action der- QueryContinueDragEventArgsEigenschaft des Ereignisses abgebrochen werden soll.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.

Wenn der Wert von DragAction Continueauf festgelegt DragOver ist, wird das-Ereignis ausgelöst, um GiveFeedback den Vorgang fortzusetzen, und das-Ereignis wird mit dem neuen Effekt ausgelöst, sodass entsprechendes visuelles Feedback festgelegt werden kann.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. Eine Liste der gültigen Ablageeffekte finden Sie unter der DragDropEffects-Enumeration.For a list of valid drop effects, see the DragDropEffects enumeration.

Das DragOver - GiveFeedback Ereignis und das-Ereignis werden gekoppelt, damit dem Benutzer beim Bewegen der Maus über das Ablage Ziel das aktuellste Feedback an der Position der Maus angezeigt wird, wie im folgenden dargestellt: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:

  • Wenn der Wert von DragAction auf Dropfestgelegt ist, wird der Wert des Ablage Effekts an die Quelle zurückgegeben. die Quell Anwendung kann somit den entsprechenden Vorgang für die Quelldaten ausführen, z. b. die Daten Ausschneiden, wenn es sich um einen Verschiebe Vorgang handelt.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.

  • Wenn der Wert von DragAction ist Cancel, wird DragLeave das-Ereignis ausgelöst.If the value of DragAction is Cancel, the DragLeave event is raised.

Gilt für: