ToolStripItem.DragOver Ereignis

Definition

Tritt ein, wenn der Benutzer ein Element über den Clientbereich dieses Elements zieht.Occurs when the user drags an item over the client area of this item.

public:
 event System::Windows::Forms::DragEventHandler ^ DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragOver;
member this.DragOver : System.Windows.Forms.DragEventHandler 
Public Custom Event DragOver As DragEventHandler 
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 DragOver Ereignisses.In the example, an event handler reports on the occurrence of the DragOver 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 DragOver Handler dem Ereignis zugeordnet ist.Then name the instance ToolStripItem1 and ensure that the event handler is associated with the DragOver event.

private void ToolStripItem1_DragOver(Object sender, DragEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Data", e.Data );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "KeyState", e.KeyState );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "X", e.X );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Y", e.Y );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "DragOver Event" );
}
Private Sub ToolStripItem1_DragOver(sender as Object, e as DragEventArgs) _ 
     Handles ToolStripItem1.DragOver

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Data", e.Data)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "KeyState", e.KeyState)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "X", e.X)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Y", e.Y)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "AllowedEffect", e.AllowedEffect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"DragOver Event")

End Sub

Hinweise

Das DragOver -Ereignis wird ausgelöst, wenn der Mauszeiger während eines Drag & Drop-Vorgangs innerhalb der Begrenzungen des Steuer Elements bewegt wird.The DragOver event is raised when the mouse cursor moves within the bounds of the control during a drag-and-drop operation.

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: