ToolStripItem.DragLeave Zdarzenie

Definicja

Występuje, gdy użytkownik przeciąga element, a wskaźnik myszy nie jest już nad obszarem klienta tego elementu.

public:
 event EventHandler ^ DragLeave;
[System.ComponentModel.Browsable(false)]
public event EventHandler DragLeave;
[System.ComponentModel.Browsable(false)]
public event EventHandler? DragLeave;
[<System.ComponentModel.Browsable(false)>]
member this.DragLeave : EventHandler 
Public Custom Event DragLeave As EventHandler 

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 DragLeave . 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 DragLeave .

private void ToolStripItem1_DragLeave(Object sender, EventArgs e) {

   MessageBox.Show("You are in the ToolStripItem.DragLeave event.");
}
Private Sub ToolStripItem1_DragLeave(sender as Object, e as EventArgs) _ 
     Handles ToolStripItem1.DragLeave

   MessageBox.Show("You are in the ToolStripItem.DragLeave event.")

End Sub

Uwagi

Zdarzenie DragLeave jest wywoływane, gdy użytkownik przeciąga kursor z kontrolki lub użytkownik anuluje bieżącą operację 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