ToolStripItem.DragEnter ToolStripItem.DragEnter ToolStripItem.DragEnter ToolStripItem.DragEnter Event

Definition

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

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

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie die X - Y Eigenschaft und die- PointEigenschaft in einen-Client konvertiert werden.The following code example shows how to convert the X and Y properties to a client Point. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ToolStripRenderer -Klasse bereitgestellt wird.This code example is part of a larger example provided for the ToolStripRenderer class.

// This method defines the DragOver event behavior. 
protected override void OnDragOver(DragEventArgs dea)
{
    base.OnDragOver(dea);

    // Get the ToolStripButton control 
    // at the given mouse position.
    Point p = new Point(dea.X, dea.Y);
    ToolStripButton item = this.GetItemAt(
        this.PointToClient(p)) as ToolStripButton;

    // If the ToolStripButton control is the empty cell,
    // indicate that the move operation is valid.
    if( item == this.emptyCellButton )
    {
        // Set the drag operation to indicate a valid move.
        dea.Effect = DragDropEffects.Move;
    }
}
' This method defines the DragOver event behavior. 
Protected Overrides Sub OnDragOver(dea As DragEventArgs)
   MyBase.OnDragOver(dea)
   
   ' Get the ToolStripButton control 
   ' at the given mouse position.
   Dim p As New Point(dea.X, dea.Y)
   Dim item As ToolStripButton = CType(Me.GetItemAt(Me.PointToClient(p)), ToolStripButton)
   
   
   ' If the ToolStripButton control is the empty cell,
   ' indicate that the move operation is valid.
     If item Is Me.emptyCellButton Then
         ' Set the drag operation to indicate a valid move.
         dea.Effect = DragDropEffects.Move
     End If
 End Sub

Hinweise

Das DragEnter -Ereignis wird ausgelöst, wenn der Benutzer während eines Drag & Drop-Vorgangs zuerst den Mauszeiger über das Element zieht.The DragEnter event is raised when the user first drags the mouse cursor over the item 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.

Hinweis

Die X - Y Eigenschaft und die DragEventArgs -Eigenschaft des befinden sich in Bildschirm Koordinaten, nicht in Client Koordinaten.The X and Y properties of the DragEventArgs are in screen coordinates, not client coordinates.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.For more information about handling events, see Handling and Raising Events.

Gilt für: