GiveFeedbackEventHandler Delegat

Definicja

Reprezentuje metodę, która obsługuje GiveFeedback zdarzenie klasy Control.

public delegate void GiveFeedbackEventHandler(System::Object ^ sender, GiveFeedbackEventArgs ^ e);
public delegate void GiveFeedbackEventHandler(object sender, GiveFeedbackEventArgs e);
public delegate void GiveFeedbackEventHandler(object? sender, GiveFeedbackEventArgs e);
type GiveFeedbackEventHandler = delegate of obj * GiveFeedbackEventArgs -> unit
Public Delegate Sub GiveFeedbackEventHandler(sender As Object, e As GiveFeedbackEventArgs)

Parametry

sender
Object

Źródło zdarzenia.

e
GiveFeedbackEventArgs

Element GiveFeedbackEventArgs zawierający dane zdarzenia.

Przykłady

W poniższym przykładzie przedstawiono operację przeciągania i upuszczania między dwoma ListBox kontrolkami. Przykład wywołuje metodę DoDragDrop po uruchomieniu akcji przeciągania. Akcja przeciągania rozpoczyna się, jeśli mysz przeniosła się więcej niż SystemInformation.DragSize z lokalizacji myszy podczas MouseDown zdarzenia. Metoda IndexFromPoint służy do określania indeksu elementu do przeciągania podczas MouseDown zdarzenia.

W przykładzie pokazano również użycie niestandardowych kursorów dla operacji przeciągania i upuszczania. W przykładzie założono, 3dwarro.cur że dwa pliki kursora i 3dwno.cur, istnieją w katalogu aplikacji, odpowiednio dla niestandardowego przeciągania i nie upuszczania kursorów. Niestandardowe kursory będą używane, jeśli UseCustomCursorsCheckCheckBox jest zaznaczone. Niestandardowe kursory są ustawiane w procedurze obsługi zdarzeń GiveFeedback .

Stan klawiatury jest oceniany w procedurze DragOver obsługi zdarzeń po prawej stronie ListBox, aby określić, jaka operacja przeciągania będzie oparta na stanie klawiszy SHIFT, CTRL, ALT lub CTRL+ALT. Lokalizacja, w ListBox której wystąpi spadek, jest również określana podczas DragOver zdarzenia. Jeśli dane do upuszczania nie są wartością String, DragEventArgs.Effect parametr jest ustawiony na DragDropEffects.Nonewartość . Na koniec stan upuszczania jest wyświetlany w elemecie DropLocationLabelLabel.

Dane do upuszczania po prawej stronie ListBox są określane w DragDrop procedurze obsługi zdarzeń, a String wartość jest dodawana w odpowiednim miejscu w obiekcie ListBox. Jeśli operacja przeciągania przesuwa się poza granice formularza, operacja przeciągania i upuszczania zostanie anulowana w procedurze obsługi zdarzeń QueryContinueDrag .

Ten fragment kodu przedstawia użycie delegata GiveFeedbackEventHandler z zdarzeniem GiveFeedback . Zobacz metodę DoDragDrop kompletnego przykładu kodu.

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

Uwagi

Podczas tworzenia delegata należy zidentyfikować metodę GiveFeedbackEventHandler , która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat obsługi zdarzeń z delegatami, zobacz Obsługa i podnoszenie zdarzeń.

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata.

Dotyczy

Zobacz też