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

DragAction-Enumeration

 

Veröffentlicht: Oktober 2016

Gibt an, wie und, wenn ein Drag & Drop-Vorgang fortgesetzt werden soll.

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

[ComVisibleAttribute(true)]
public enum DragAction

MembernameBeschreibung
Cancel

Der Vorgang wird ohne Meldung Drop abgebrochen.

Continue

Der Vorgang fortgesetzt wird.

Drop

Der Vorgang wird mit einem Dropdownmenü beendet.

Diese Enumeration wird verwendet, indem Sie QueryContinueDragEventArgs.

Das folgende Beispiel 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. Im Beispiel wird davon ausgegangen, 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 je nach Zustand der Tasten UMSCHALT, STRG, ALT oder STRG + ALT. Die Position in der ListBox der Ablegevorgang hängt auch während der DragOver Ereignis. Ist die abzulegenden Daten kein String, das DragEventArgs.Effect auf festgelegt ist DragDropEffects.None. 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 DragAction Enumeration. Siehe die DoDragDrop Methode für das gesamte Codebeispiel dargestellt.

private void ListDragSource_QueryContinueDrag(object sender, System.Windows.Forms.QueryContinueDragEventArgs e) {
    // Cancel the drag if the mouse moves off the form.
    ListBox lb = sender as ListBox;

    if (lb != null) {

        Form f = lb.FindForm();

        // Cancel the drag if the mouse moves off the form. The screenOffset
        // takes into account any desktop bands that may be at the top or left
        // side of the screen.
        if (((Control.MousePosition.X - screenOffset.X) < f.DesktopBounds.Left) ||
            ((Control.MousePosition.X - screenOffset.X) > f.DesktopBounds.Right) ||
            ((Control.MousePosition.Y - screenOffset.Y) < f.DesktopBounds.Top) ||
            ((Control.MousePosition.Y - screenOffset.Y) > f.DesktopBounds.Bottom)) {

            e.Action = DragAction.Cancel;
        }
    }
}

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