Freigeben über


GiveFeedbackEventArgs-Klasse

Stellt Daten für das GiveFeedback-Ereignis bereit, das während eines Ziehvorgangs eintritt.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Class GiveFeedbackEventArgs
    Inherits EventArgs
'Usage
Dim instance As GiveFeedbackEventArgs
[ComVisibleAttribute(true)] 
public class GiveFeedbackEventArgs : EventArgs
[ComVisibleAttribute(true)] 
public ref class GiveFeedbackEventArgs : public EventArgs
/** @attribute ComVisibleAttribute(true) */ 
public class GiveFeedbackEventArgs extends EventArgs
ComVisibleAttribute(true) 
public class GiveFeedbackEventArgs extends EventArgs

Hinweise

Das GiveFeedback-Ereignis tritt während eines Ziehvorgangs ein. Es ermöglicht der Quelle eines Ziehereignisses, die Darstellung des Mauszeigers zu verändern und so dem Benutzer während einer Drag & Drop-Operation ein visuelles Feedback anzuzeigen. Mit einem GiveFeedbackEventArgs-Objekt wird die Art der Drag & Drop-Operation bestimmt und angegeben, ob Standardcursor verwendet werden.

Informationen über das Ereignismodell finden Sie unter Ereignisse und Delegaten.

Beispiel

Im folgenden Beispiel wird ein Drag & Drop-Vorgang zwischen zwei ListBox-Steuerelementen veranschaulicht. In diesem Beispiel wird die DoDragDrop-Methode aufgerufen, wenn der Ziehvorgang begonnen wird. Der Ziehvorgang beginnt, wenn die Maus um mehr als SystemInformation.DragSize von der Mausposition während des MouseDown-Ereignisses verschoben wurde. Mit der IndexFromPoint-Methode kann der Index des im MouseDown-Ereignis zu ziehenden Elements bestimmt werden.

Im Beispiel wird außerdem die Verwendung benutzerdefinierter Cursor bei einem Drag & Drop-Vorgang veranschaulicht. Im Beispiel wird davon ausgegangen, dass die beiden Cursordateien 3dwarro.cur und 3dwno.cur für den benutzerdefinierten Ziehcursor bzw. den Cursor, der angezeigt wird, wenn ein Ablegen nicht möglich ist, im Anwendungsverzeichnis vorhanden sind. Die benutzerdefinierten Cursor werden verwendet, wenn die UseCustomCursorsCheckCheckBox aktiviert wurde. Die benutzerdefinierten Cursor werden im GiveFeedback-Ereignishandler festgelegt.

Der Tastaturzustand wird vom DragOver-Ereignishandler für die rechte ListBox ausgewertet, um je nach Zustand der UMSCHALTTASTE oder von STRG, ALT bzw. STRG+ALT den auszuführenden Ziehvorgang zu ermitteln. Außerdem wird beim DragOver-Ereignis auch die Position in der ListBox bestimmt, für die der Ablegevorgang ausgeführt wird. Wenn die abzulegenden Daten kein String sind, wird DragEventArgs.Effect auf DragDropEffects.None festgelegt. Abschließend wird der Status des Ablegevorgangs im DropLocationLabelLabel angezeigt.

Die in der rechten ListBox abzulegenden Daten werden im DragDrop-Ereignishandler bestimmt. Der String-Wert wird an der entsprechenden Stelle in die ListBox eingefügt. Wenn der Ziehvorgang außerhalb der Grenzen des Formulars beendet wird, wird der Drag & Drop-Vorgang vom QueryContinueDrag-Ereignishandler abgebrochen.

Dieser Codeauszug veranschaulicht die Verwendung der GiveFeedbackEventArgs-Klasse. Das vollständige Codebeispiel finden Sie unter der DoDragDrop-Methode.

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
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;
    }

}
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, 
    System.Windows.Forms.GiveFeedbackEventArgs e)
{
    // Use custom cursors if the check box is checked.
    if (useCustomCursorsCheck.get_Checked()) {
        // Sets the custom cursor based upon the effect.
        e.set_UseDefaultCursors(false);
        if ((e.get_Effect() & DragDropEffects.Move) 
            == DragDropEffects.Move) {
            get_Cursor().set_Current(myNormalCursor);
        }
        else {
            get_Cursor().set_Current(myNoDropCursor);
        }
    }
} //listDragSource_GiveFeedback

Vererbungshierarchie

System.Object
   System.EventArgs
    System.Windows.Forms.GiveFeedbackEventArgs

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

GiveFeedbackEventArgs-Member
System.Windows.Forms-Namespace