Gast
#296500
Hallo,
Habe mit C#/.net ein Programm selbst erstellt.
Der Benutzer kann über einen Menüpunkt "Anzeigen" in der Hauptform
eine zur Laufzeit erstellte (weitere) Form anzeigen lassen (da stehen
dann detailiertere Informationen für ihn drin). Dazu lege ich diese zur
Laufzeit an (Objekt instanzieren) und rufe die Methode Show() auf.
Funktioniert prima.
Ich muss aber unterscheiden können, ob die zweite Form schon existiert,
damit ich diese nicht nochmals anlege, wenn der Benutzer einfach nochmal
auf den Hauptmenüpunkt "Anzeigen" klickt. Ich darf aber auch nicht die
Methode Show() aufrufen, wenn die Form noch nicht (oder nicht mehr)
existiert.
Wie kann ich abfragen, ob die Form existiert?
Ein Versuch mit:
if (myForm == null)
{
myForm = new frmAnzeige();
}
myForm.Show();
schlägt fehl, wenn Fenster bereits angezeigt und geschlossen wurde:
"Auf das verworfene Objekt "myForm" kann nicht zugegriffen werden".
D.h. also, daß myForm ungleich 'null' ist. Wieso? Kam die
GarbageCollection nicht nach??
Wie kann ich abfragen, ob das Objekt verworfen wurde?
(Hintenrum im Closedereignis der myForm eine 'unbeteiligte'
Hilfsvariable setzen halte ich für kein gutes Konzept).
Danke.