GiveFeedbackEventArgs.UseDefaultCursors Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft ab oder legt fest, ob der Ziehvorgang die Standardcursor verwenden soll, die mit Drag-Drop-Effekten verknüpft 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
truewenn 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 beginnt, wenn die Maus während des SystemInformation.DragSize Ereignisses mehr als MouseDown von der Mausposition bewegt wurde. Die IndexFromPoint Methode wird verwendet, um den Index des Elements zu bestimmen, das während des MouseDown Ereignisses gezogen werden soll.
Das Beispiel veranschaulicht auch die Verwendung von benutzerdefinierten Cursorn für den Drag-and-Drop-Vorgang. Im Beispiel wird davon ausgegangen, 3dwarro.cur dass zwei Cursordateien und 3dwno.cur, die im Anwendungsverzeichnis vorhanden sind, für die benutzerdefinierten Mauszeiger bzw. Cursor ohne Drop vorhanden sind. Die benutzerdefinierten Cursor werden verwendet, wenn dies UseCustomCursorsCheckCheckBox aktiviert ist. Die benutzerdefinierten Cursor werden im GiveFeedback Ereignishandler festgelegt.
Der Tastaturzustand wird im DragOver Ereignishandler für die rechte ListBoxSeite ausgewertet, um zu bestimmen, was der Ziehvorgang auf dem Zustand der TASTEN UMSCHALT, STRG, ALT oder STRG+ALT basiert. Die Position in der Stelle, an der ListBox der Abbruch erfolgt, wird auch während des DragOver Ereignisses bestimmt. Wenn es sich bei den zu löschenden Daten nicht um einen StringWert handelt, wird der DragEventArgs.Effect Wert auf DragDropEffects.None festgelegt. Schließlich wird der Status des Drops in der DropLocationLabelLabel.
Die für das Rechte ListBox ablegenden Daten werden im DragDrop Ereignishandler bestimmt, und der String Wert wird an der entsprechenden Stelle in der ListBox. Wenn der Ziehvorgang außerhalb der Grenzen des Formulars verschoben wird, wird der Drag-and-Drop-Vorgang im QueryContinueDrag Ereignishandler abgebrochen.
Dieser Codeauszug veranschaulicht die Verwendung der GiveFeedbackEventArgs Klasse. Sehen Sie sich die DoDragDrop Methode für das vollständige Codebeispiel an.
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 diese Einstellung festgelegt falseist, liegt es in der Verantwortung der Ereignisquelle, den entsprechenden Cursor festzulegen.