mikrocontroller.net

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


Autor: André (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nicoläi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.