DragEnter Ereignis
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Control.DragEnter-Ereignis

 

Wird ausgelöst, wenn ein Objekt in den Bereich des Steuerelements gezogen wird.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event DragEventHandler DragEnter

Das DragEnter -Ereignis wird ausgelöst, wenn während eines Drag & Drop-Vorgangs der Mauszeiger über dem Steuerelement bewegt wird.

System_CAPS_noteHinweis

In Versionen vor .NET Framework 2.0, wenn Sie Einfügen einer UserControl mit DragEnter und DragDrop Ereignisse in einem Windows Form und ziehen Sie ein Element auf das die UserControl zur Entwurfszeit die DropDrop und DropEnter Ereignisse ausgelöst werden. Jedoch wenn Sie schließen und erneut öffnen, die DragEnter und DragDrop Ereignisse werden nicht erneut ausgelöst.

Nachfolgend wird beschrieben, wie und wann Ereignisse für Drag & Drop-Vorgänge ausgelöst werden.

Die DoDragDrop -Methode bestimmt das Steuerelement an der aktuellen Cursorposition. Es überprüft dann, wenn das Steuerelement ein gültiges Ablageziel ist.

Wenn das Steuerelement ein gültiges Ablageziel ist die GiveFeedback -Ereignis mit dem angegebenen Drag & Drop-Effekt ausgelöst. Eine Liste der Drag & Drop-Effekte finden Sie unter der DragDropEffects-Enumeration.

Änderungen der Mauszeigerposition, des Tastaturzustands und des Zustands der Maustasten werden verfolgt.

  • Wenn die Benutzeraktion das Fenster verlässt, wird das DragLeave-Ereignis ausgelöst.

  • Wenn der Mauszeiger in ein anderes Steuerelement bewegt wird, wird das DragEnter-Ereignis für dieses Steuerelement ausgelöst.

  • Wenn die Maus bewegt wird, ohne das Steuerelement zu verlassen, wird das DragOver-Ereignis ausgelöst.

Wenn eine Änderung der Tastatur- oder Maustastenzustands auftritt derQueryContinueDrag -Ereignis ausgelöst wird, und bestimmt, ob der Ziehvorgang, die Daten abgelegt fortgesetzt oder Abbrechen des Vorgangs basierend auf dem Wert der Action der Ereigniseigenschaft QueryContinueDragEventArgs.

  • Wenn der Wert des DragAction ist Continue, die DragOver -Ereignis wird ausgelöst, um den Vorgang fortzusetzen und die GiveFeedback Ereignis mit dem neuen Effekt ausgelöst, damit eine entsprechende visuelle Rückmeldung festgelegt werden kann. Eine Liste der gültigen Ablageeffekte finden Sie unter der DragDropEffects-Enumeration.

    System_CAPS_noteHinweis

    Die DragOver und GiveFeedback Ereignisse werden zusammen verwendet, damit Benutzer beim Bewegen die Maus über das Ablageziel, das aktuelle Feedback zur Position der Maus erhalten wird.

  • Wenn der Wert des DragAction ist Drop, wird der Wert des Ablageeffekts an die Quelle zurückgegeben, damit der Source-Anwendung den entsprechenden Vorgang für die Quelldaten; ausführen kann z. B. die Daten Ausschneiden, wenn der Vorgang einen Verschiebevorgang handelt.

  • Wenn der Wert des DragAction ist Cancel, die DragLeave -Ereignis wird ausgelöst.

    System_CAPS_noteHinweis

    Die X und Y Eigenschaften der DragEventArgs Bildschirmkoordinaten, nicht Clientkoordinaten. Die folgende Codezeile Visual C# Code wandelt die Eigenschaften in einem Client Point.

    Point clientPoint = targetControl.PointToClient(new Point(de.X, de.Y));
    

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Das folgende Codebeispiel veranschaulicht einen Drag & Drop-Vorgang zwischen zwei ListBox Steuerelemente. Im Beispiel wird die DoDragDrop -Methode, wenn der Ziehvorgang gestartet wird. Der Ziehvorgang beginnt, wenn die Maus bewegt wurde mehr als SystemInformation.DragSize von der Mausposition während der MouseDown Ereignis. Die IndexFromPoint -Methode verwendet, um den Index des Elements zu ziehenden bestimmen die MouseDown Ereignis.

Das Beispiel veranschaulicht außerdem die Verwendung benutzerdefinierter Cursor für den Drag & Drop-Vorgang. Das Beispiel ist es erforderlich, dass zwei Cursor-Dateien 3dwarro.cur und 3dwno.cur, im Verzeichnis Anwendung für den benutzerdefinierten vorhanden und Drop bzw. den Cursor. Ein benutzerdefinierter Cursor werden verwendet, wenn die UseCustomCursorsCheckCheckBox aktiviert ist. Die benutzerdefinierten Cursor werden festgelegt, der GiveFeedback -Ereignishandler.

Der Tastaturzustand wird ausgewertet, der DragOver -Ereignishandler für die Rechte ListBox, um zu bestimmen, welcher der Ziehvorgang verwendet werden basierend auf den Zustand der Tasten UMSCHALT, STRG, ALT oder STRG + ALT. Die Position in der ListBox der Ablegevorgang hängt auch während der DragOver Ereignis. Abzulegenden Daten ist keine String, die DragEventArgs.Effect Wert None in DragDropEffects. Abschließend wird der Status des Ablegevorgangs angezeigt, der DropLocationLabelLabel.

Die Daten für die Berechtigung löschen ListBox wird bestimmt, der DragDrop -Ereignishandler und die String Wert hinzugefügt wird, an der entsprechenden Stelle in der ListBox. Wenn der Ziehvorgang außerhalb der Grenzen des Formulars verschoben, der Drag & Drop-Vorgang abgebrochen wird, der QueryContinueDrag -Ereignishandler.

Dieser Code veranschaulicht die Verwendung der DragEnter Ereignis. Siehe die DoDragDrop Methode für das gesamte Codebeispiel dargestellt.

private void ListDragTarget_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) {
    // Reset the label text.
    DropLocationLabel.Text = "None";
}

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft