ToolStripItem.DragOver 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 über den Clientbereich dieses Elements zieht.
public:
event System::Windows::Forms::DragEventHandler ^ DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler DragOver;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.DragEventHandler? DragOver;
[<System.ComponentModel.Browsable(false)>]
member this.DragOver : System.Windows.Forms.DragEventHandler
Public Custom Event DragOver As DragEventHandler
Ereignistyp
- Attribute
Beispiele
Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht. Im Beispiel meldet ein Ereignishandler das Auftreten des Ereignisses DragOver . Dieser Bericht hilft Ihnen, zu erfahren, wann das Ereignis eintritt, und kann Ihnen beim Debuggen helfen. Um über mehrere Ereignisse oder ereignisse zu berichten, die häufig auftreten, sollten Sie erwägen, die Nachricht durch Console.WriteLine ein mehrzeilesiges TextBoxzu ersetzen MessageBox.Show oder anzufü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. oder ToolStripButtonToolStripMenuItem. Benennen Sie dann den instanceToolStripItem1
, und stellen Sie sicher, dass der Ereignishandler dem DragOver Ereignis zugeordnet ist.
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 Mauscursor während eines Drag-and-Drop-Vorgangs innerhalb der Grenzen des Steuerelements bewegt wird.
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 das Element ein gültiges Ablageziel ist.
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 die DragEnter für dieses Steuerelement ausgelöst.
Wenn die Maus bewegt wird, aber innerhalb desselben Elements bleibt, 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 abgebrochen werden soll, basierend auf dem Wert der Action -Eigenschaft des Ereignisses QueryContinueDragEventArgs.
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 ein entsprechendes 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 beim Bewegen der Maus über das Ablageziel das aktuellste Feedback zur Mausposition erhält, wie folgt:
Wenn der Wert von istDrop, wird der Wert für DragAction den Löscheffekt 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 verschoben wurde.
Wenn der Wert von DragAction ist Cancel, wird das DragLeave -Ereignis ausgelöst.