GiveFeedbackEventArgs.UseDefaultCursors Eigenschaft

Definition

Ruft ab, ob für einen Ziehvorgang die Standardcursor verwendet werden sollen, die Drag & Drop-Effekten zugeordnet sind.

public:
 property bool UseDefaultCursors { bool get(); void set(bool value); };
public bool UseDefaultCursors { get; set; }
member this.UseDefaultCursors : bool with get, set
Public Property UseDefaultCursors As Boolean

Eigenschaftswert

true, wenn die Standardzeiger verwendet werden, andernfalls false.

Beispiele

Im folgenden Beispiel wird ein Drag-and-Drop-Vorgang zwischen zwei ListBox Steuerelementen veranschaulicht. Im Beispiel wird die DoDragDrop -Methode aufgerufen, wenn die Ziehaktion gestartet wird. Die Ziehaktion wird gestartet, wenn sich die Maus während MouseDown des Ereignisses mehr als SystemInformation.DragSize von der Mausposition bewegt hat. Die IndexFromPoint -Methode wird verwendet, um den Index des Elements zu bestimmen, das während des Ereignisses MouseDown gezogen werden soll.

Das Beispiel veranschaulicht auch die Verwendung benutzerdefinierter Cursor für den Drag-and-Drop-Vorgang. Im Beispiel wird davon ausgegangen, 3dwarro.cur dass zwei Cursordateien und 3dwno.curim Anwendungsverzeichnis für die benutzerdefinierten Cursor zum Ziehen bzw. Nicht-Ablegen vorhanden sind. Die benutzerdefinierten Cursor werden verwendet, wenn der UseCustomCursorsCheckCheckBox aktiviert ist. Die benutzerdefinierten Cursor werden im GiveFeedback Ereignishandler festgelegt.

Der Tastaturzustand wird im Ereignishandler für die DragOver richtige ListBoxausgewertet, um zu bestimmen, welcher Ziehvorgang auf Grundlage des Zustands der UMSCHALT-, STRG-, ALT- oder STRG+ALT-TASTEN erfolgt. Der Speicherort in dem, an dem ListBox der Abbruch erfolgen würde, wird auch während des Ereignisses DragOver bestimmt. Wenn die zu löschenden Daten keine Stringsind, ist auf DragEventArgs.Effect festgelegt DragDropEffects.None. Schließlich wird der status des Drops in DropLocationLabelLabelangezeigt.

Die Daten, die für die Rechte ListBox gelöscht werden sollen, werden im DragDrop Ereignishandler bestimmt, und der String Wert wird an der entsprechenden Stelle in hinzugefügt ListBox. Wenn sich der Ziehvorgang außerhalb der Grenzen des Formulars bewegt, wird der Drag-and-Drop-Vorgang im QueryContinueDrag Ereignishandler abgebrochen.

In diesem Codeausschnitt wird die Verwendung der GiveFeedbackEventArgs -Klasse veranschaulicht. Das vollständige Codebeispiel finden Sie in der DoDragDrop -Methode.

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;
   }
}
private void ListDragSource_GiveFeedback(object sender, 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;
    }
}
Private Sub ListDragSource_GiveFeedback(ByVal sender As Object, ByVal e As GiveFeedbackEventArgs) Handles ListDragSource.GiveFeedback
    ' Use custom cursors if the check box is checked.
    If (UseCustomCursorsCheck.Checked) Then

        ' Set the custom cursor based upon the effect.
        e.UseDefaultCursors = False
        If ((e.Effect And DragDropEffects.Move) = DragDropEffects.Move) Then
            Cursor.Current = MyNormalCursor
        Else
            Cursor.Current = MyNoDropCursor
        End If
    End If

End Sub

Hinweise

Das System bietet standardmäßige Drag-Drop-Cursor für verschiedene Drag-Drop-Vorgänge wie Verschieben oder Kopieren. Wenn UseDefaultCursors auf falsefestgelegt ist, liegt es in der Verantwortung der Ereignisquelle, den entsprechenden Cursor festzulegen.

Gilt für: