C#/.net: Wie geschlossenes Fenster erkennen?

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.
Gast
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)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.