Drag-and-Drop-Funktionalität in Windows Forms
Windows Forms enthält eine Reihe von Methoden, Ereignissen und Klassen, die das Drag-and-Drop-Verhalten implementieren. Dieses Thema enthält eine Übersicht über die Drag-and-Drop-Unterstützung in Windows Forms. Siehe auch Drag-and-Drop-Vorgänge und Zwischenablageunterstützung.
Ausführen von Drag-and-Drop-Vorgängen
Zum Ausführen eines Drag-and-Drop-Vorgangs verwenden Sie die DoDragDrop-Methode der Control Klasse. Weitere Informationen dazu, wie ein Drag-and-Drop-Vorgang ausgeführt wird, finden Sie unter DoDragDrop. Um das Rechteck abzurufen, über das der Mauszeiger gezogen werden muss, bevor ein Drag-and-Drop-Vorgang beginnt, verwenden Sie die Eigenschaft DragSize der Klasse SystemInformation.
Ereignisse im Zusammenhang mit Drag-und-Drop-Vorgängen
Es gibt zwei Kategorien von Ereignissen in einem Drag-and-Drop-Vorgang: Ereignisse, die auf dem aktuellen Ziel des Drag-and-Drop-Vorgangs stattfinden, und Ereignisse, die auf der Quelle des Drag-and-Drop-Vorgangs stattfinden.
Ereignisse für das aktuelle Ziel
Die folgende Tabelle zeigt die Ereignisse, die auf dem aktuellen Ziel eines Drag-and-Drop-Vorgangs auftreten.
Mouse-Ereignis | Beschreibung |
---|---|
DragEnter | Dieses Ereignis tritt auf, wenn ein Objekt in die Grenzen des Steuerelements gezogen wird. Der Handler für dieses Ereignis empfängt ein Argument vom Typ DragEventArgs. |
DragOver | Dieses Ereignis tritt auf, wenn ein Objekt gezogen wird, während sich der Mauszeiger innerhalb der Grenzen des Steuerelements befindet. Der Handler für dieses Ereignis empfängt ein Argument vom Typ DragEventArgs. |
DragDrop | Dieses Ereignis tritt auf, wenn ein Drag-and-Drop-Vorgang abgeschlossen ist. Der Handler für dieses Ereignis empfängt ein Argument vom Typ DragEventArgs. |
DragLeave | Dieses Ereignis tritt auf, wenn ein Objekt außerhalb der Grenzen des Steuerelements gezogen wird. Der Handler für dieses Ereignis empfängt ein Argument vom Typ EventArgs. |
Die DragEventArgs-Klasse stellt die Position des Mauszeigers, den aktuellen Zustand der Maustasten und der Modifikatortasten auf der Tastatur, die gezogenen Daten und die DragDropEffects Werte bereit, die die zulässigen Vorgänge der Quelle des Ziehereignisses und den Zielablageeffekt für den Vorgang angeben.
Ereignisse in der Quelle
Die folgende Tabelle zeigt die Ereignisse, die in der Quelle des Drag-and-Drop-Vorgangs auftreten.
Mouse-Ereignis | Beschreibung |
---|---|
GiveFeedback | Dieses Ereignis tritt während eines Ziehvorgangs auf. Es bietet die Möglichkeit, dem Benutzer einen visuellen Hinweis zu geben, dass der Drag-and-Drop-Vorgang ausgeführt wird, indem z.B. der Mauszeiger geändert wird. Der Handler für dieses Ereignis empfängt ein Argument vom Typ GiveFeedbackEventArgs. |
QueryContinueDrag | Dieses Ereignis wird während eines Drag-and-Drop-Vorgangs ausgelöst und ermöglicht es der Quelle des Ziehvorgangs zu bestimmen, ob der Drag-and-Drop-Vorgang abgebrochen werden soll. Der Handler für dieses Ereignis empfängt ein Argument vom Typ QueryContinueDragEventArgs. |
Die QueryContinueDragEventArgs Klasse stellt den aktuellen Zustand der Maustasten und Modifizierertasten der Tastatur bereit, einen Wert, der angibt, ob die ESC-Taste gedrückt wurde, und einen DragAction Wert, der festgelegt werden kann, um anzugeben, ob der Drag-and-Drop-Vorgang fortgesetzt werden soll.
Siehe auch
.NET Desktop feedback