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.GiveFeedback-Ereignis

 

Veröffentlicht: Oktober 2016

Wird während eines Ziehvorgangs ausgelöst.

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

public event GiveFeedbackEventHandler GiveFeedback

Das GiveFeedback -Ereignis wird ausgelöst, wenn ein Drag & Drop-Vorgang gestartet wird. Mit dem GiveFeedback -Ereignis, die Quelle eines Ziehereignisses ändern die Darstellung des Mauszeigers und der Benutzer während eines Drag & Drop-Vorgangs ein visuelles Feedback.

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 der QueryContinueDrag -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.

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 ListBoxder 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 GiveFeedback Ereignis. Siehe die DoDragDrop Methode für das gesamte Codebeispiel dargestellt.

private void ListDragSource_GiveFeedback(object sender, System.Windows.Forms.GiveFeedbackEventArgs e) 
{
    // Use custom cursors if the check box is checked.
    if (UseCustomCursorsCheck.Checked) {

        // Sets the custom cursor based upon the effect.
        e.UseDefaultCursors = false;
        if ((e.Effect & DragDropEffects.Move) == DragDropEffects.Move)
            Cursor.Current = MyNormalCursor;
        else 
            Cursor.Current = MyNoDropCursor;
    }

}

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