Delphi: Form1 schließen ohne Form 2 zu schließen?
Hallo Liebe Community, Ich habe mal wieder mit Delphi ein kleines Problem. Und zwar habe ich zwei Forms. Ich möchte das wenn man auf einen Button klickt, das dann Form1 geschlossen wird und Form2 aufgerufen wird. Ich habe es so versucht: Form1.close; Form2.show; Wenn ich es jetzt ausführe schließt das Programm Form1 und Form2. Wie geht es Richtig?
LG EdwardSmith
2 Antworten
Hi,
ich würde es so machen:
Du erstellst das 2. Formular, zeigst es an und startest im OnShow des 2. Formulars einen Timer. Bei Ende des Timers wird Formular 1 geschlossen. Du solltest mit einem FirstShow-Flag dafür sorgen, dass das nur beim ersten Anzeigen von Formular2 passiert.
Gruss, dj
- Das Hauptformular (meist Form1) steuert die Applikation. Wenn das Hauptformular geschlossen wird, wird auch die Applikation beendet und damit alle anderen Fenster geschlossen. Man kann also nicht einfach so Form1 schließen, ohne dass das Programm beendet wird.
- Die normale Lösung dafür ist, dass man Form1.Hide; nutzt und Form1 einfach nur unsichtbar macht. Für den Nutzer ist das kein spürbarer Unterschied. Alternativ kannst Du auch statt Form1.Hide einfach Form1.Visible := False; verwenden. Das ist letztlich das Gleiche.
- Wieder einblenden kannst Du dann mit Form1.Show oder mit der Kombination Form1.Visible := True; Form1.BringToFront;
Vielen Dank, du konntest mir damit sehr helfen.