Stellen Sie fest, ob das Formular gerade geschlossen wird [Duplikat]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Stellen Sie fest, ob das Formular gerade geschlossen wird [Duplikat]

Post by Anonymous »

Beim Schließen meines Formulars wurde ein Ereignis von einem Drittanbieter-Steuerelement (

Code: Select all

UltraGanttView
von Infragistics) wird noch einmal ausgelöst, bevor der Dialog geschlossen wird. Innerhalb der Veranstaltung möchte ich überprüfen, ob das Formular gerade geschlossen wird oder nicht. Wenn ja, möchte ich einfach zurückkehren und nicht die Standardprozeduren ausführen, die ich normalerweise innerhalb des Ereignisses ausführe.
Ich habe herausgefunden, dass es in der Form-Klasse eine Eigenschaft namens IsClosing gibt, die aber leider privat ist. Besteht die Möglichkeit, dass ich jederzeit auf den IsClosing-Status des Formulars zugreifen kann, oder kann ich ihn irgendwo anders abrufen?
Andere Ansätze wären das Setzen eines benutzerdefinierten Flags innerhalb des FormClosing-Ereignisses oder das Deaktivieren des Ereignisses vor dem Schließen.
Gibt es noch andere Möglichkeiten? Oder handelt es sich möglicherweise um eine fehlerhafte Implementierung des benutzerdefinierten Steuerelements?

Code: Select all

private void foo()
{
this.Close() // fires gantt_TimelineVisibleDateTimeRangeChanged
}

private void gantt_TimelineVisibleDateTimeRangeChanged(object sender, VisibleDateTimeRangeChangedEventArgs e)
{
// do some visual and logic stuff
if (this.IsClosing) // private
return;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post