Forum: PC-Programmierung C#/.net: Wie geschlossenes Fenster erkennen?


von André (Gast)


Lesenswert?

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.

von Nicoläi (Gast)


Lesenswert?

ubrigens habe ich vergessen, es geht um zwei dimensionales
array-programm, wo man muss jedes Geburtsdatum zwischen dem 01.01.1801
und dem 31.12.2100 den dazugehörigen Wochentag berechnen.
natürlich mit schaltjahr

mit Matrizen , wie man mach das??

Unter anderen muss ich noch eine datei lesen und ausgeben.

erföderlich auch,muss es mit "Sonntag" anfangen

Wer weiß es?


(gregorianischen kalendars beginn am 15 Okt 1852)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.