ToolStripItem.DragEnter Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt ein, wenn der Benutzer ein Element in den Clientbereich dieses Elements zieht.
public:
event System::Windows::Forms::DragEventHandler ^ DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragEnter;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragEnter;
[<System.ComponentModel.Browsable(false)>]
member this.DragEnter : System.Windows.Forms.DragEventHandler
Public Custom Event DragEnter As DragEventHandler
Ereignistyp
- Attribute
Beispiele
Das folgende Codebeispiel zeigt, wie die X Eigenschaften und Y in einen Client Pointkonvertiert werden. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ToolStripRenderer-Klasse bereitgestellt wird.
// 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-and-Drop-Vorgangs den Mauscursor zum ersten Mal über das Element zieht.
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.
Hinweis
Die X Eigenschaften und Y des DragEventArgs befinden sich in Bildschirmkoordinaten, nicht in Clientkoordinaten.
Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.