GiveFeedbackEventHandler Delegat
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje metodę, która obsługuje GiveFeedback zdarzenie obiektu 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.
Element GiveFeedbackEventArgs zawierający dane zdarzenia.
Przykłady
W poniższym przykładzie pokazano operację przeciągania i upuszczania między dwoma ListBox kontrolkami. Przykład wywołuje metodę DoDragDrop podczas uruchamiania 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 przyjęto założenie, 3dwarro.cur że dwa pliki kursorów i 3dwno.cur, istnieją w katalogu aplikacji, odpowiednio dla niestandardowego przeciągania i bez upuszczania kursorów. Kursory niestandardowe będą używane w przypadku zaznaczeń UseCustomCursorsCheckCheckBox . Kursory niestandardowe są ustawiane w procedurze GiveFeedback obsługi zdarzeń.
Stan klawiatury jest obliczany w DragOver procedurze 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 obiekcie DropLocationLabelLabel.
Dane do upuszczania po prawej stronie ListBox są określane w procedurze DragDrop obsługi zdarzeń, a String wartość jest dodawana w odpowiednim miejscu w ListBoxobiekcie . Jeśli operacja przeciągania przesuwa się poza granice formularza, operacja przeciągania i upuszczania zostanie anulowana w procedurze QueryContinueDrag obsługi zdarzeń.
Ten fragment kodu pokazuje użycie delegata GiveFeedbackEventHandler ze 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 procedurą obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Procedura obsługi zdarzeń jest wywoływana za każdym razem, gdy wystąpi zdarzenie, chyba że usuniesz delegata. Aby uzyskać więcej informacji na temat obsługi zdarzeń za pomocą delegatów, zobacz Obsługa i podnoszenie zdarzeń.
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |