ToolStripItem.GiveFeedback Zdarzenie

Definicja

Występuje podczas operacji przeciągania.

public:
 event System::Windows::Forms::GiveFeedbackEventHandler ^ GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler GiveFeedback;
[System.ComponentModel.Browsable(false)]
public event System.Windows.Forms.GiveFeedbackEventHandler? GiveFeedback;
[<System.ComponentModel.Browsable(false)>]
member this.GiveFeedback : System.Windows.Forms.GiveFeedbackEventHandler 
Public Custom Event GiveFeedback As GiveFeedbackEventHandler 

Typ zdarzenia

Atrybuty

Przykłady

Poniższy przykład kodu przedstawia użycie tego elementu członkowskiego. W tym przykładzie program obsługi zdarzeń zgłasza wystąpienie zdarzenia GiveFeedback . Ten raport pomaga dowiedzieć się, kiedy wystąpi zdarzenie i może pomóc w debugowaniu. Aby zgłosić wiele zdarzeń lub zdarzeń, które występują często, rozważ zastąpienie MessageBox.Show komunikatu ciągiem Console.WriteLine lub dołączeniem go do wielowierszowego TextBoxelementu .

Aby uruchomić przykładowy kod, wklej go w projekcie zawierającym wystąpienie typu dziedziczonego z ToolStripItemelementu , takiego jak ToolStripButton lub ToolStripMenuItem. Następnie nadaj wystąpieniu ToolStripItem1 nazwę i upewnij się, że program obsługi zdarzeń jest skojarzony ze zdarzeniem GiveFeedback .

private void ToolStripItem1_GiveFeedback(Object sender, GiveFeedbackEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Effect", e.Effect );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "GiveFeedback Event" );
}
Private Sub ToolStripItem1_GiveFeedback(sender as Object, e as GiveFeedbackEventArgs) _ 
     Handles ToolStripItem1.GiveFeedback

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Effect", e.Effect)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "UseDefaultCursors", e.UseDefaultCursors)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"GiveFeedback Event")

End Sub

Uwagi

Zdarzenie GiveFeedback jest wywoływane po uruchomieniu operacji przeciągania i upuszczania. Zdarzenie GiveFeedback umożliwia źródło zdarzenia przeciągania w celu zmodyfikowania wyglądu wskaźnika myszy w celu przekazywania opinii użytkownika wizualnej podczas operacji przeciągania i upuszczania.

Poniższe uwagi opisują, jak i kiedy są wywoływane zdarzenia związane z operacjami przeciągania i upuszczania.

Metoda DoDragDrop określa element w bieżącej lokalizacji kursora. Następnie sprawdza, czy element jest prawidłowym celem upuszczania.

Jeśli element jest prawidłowym elementem docelowym upuszczania, GiveFeedback zdarzenie zostanie podniesione z określonym efektem przeciągania i upuszczania. Aby uzyskać listę efektów przeciągania i upuszczania, zobacz wyliczenie DragDropEffects .

Zmiany położenia kursora myszy, stanu klawiatury i stanu przycisku myszy są śledzone w następujący sposób:

  • Jeśli użytkownik zostanie przeniesiony z okna, DragLeave zdarzenie zostanie podniesione.

  • Jeśli mysz wprowadzi inny element, zostanie podniesiona kontrolka DragEnter dla tej kontrolki.

  • Jeśli mysz porusza się, ale pozostaje w tym samym elemencie, DragOver zdarzenie zostanie podniesione.

Jeśli istnieje zmiana stanu klawiatury lub przycisku myszy, QueryContinueDrag zdarzenie jest wywoływane i określa, czy kontynuować przeciąganie, upuszczać dane, czy anulować operację na podstawie wartości Action właściwości zdarzenia QueryContinueDragEventArgs.

Jeśli wartość DragAction to Continue, DragOver zdarzenie jest wywoływane, aby kontynuować operację, a GiveFeedback zdarzenie jest wywoływane z nowym efektem, aby można było ustawić odpowiednią opinię wizualną. Aby uzyskać listę prawidłowych efektów upuszczania, zobacz wyliczenie DragDropEffects .

Zdarzenia DragOver i GiveFeedback są sparowane w taki sposób, aby mysz przesuwała się przez cel upuszczania, użytkownik otrzymuje najbardziej aktualne opinie na temat położenia myszy w następujący sposób:

  • Jeśli wartość DragAction to Drop, wartość efektu upuszczania jest zwracana do źródła, aby aplikacja źródłowa mogła wykonać odpowiednią operację na danych źródłowych, na przykład wyciąć dane, jeśli operacja została przeniesiona.

  • Jeśli wartość DragAction to Cancel, DragLeave zdarzenie jest zgłaszane.

Dotyczy