n Application nach der ersten
-
Juhu!
Hab ein Programm und wollte davor noch ein Programm laufen lassen (sprich ne Art Intro).
Hab in Programm1(Intro) die Main-Methode, die
Application.Run(new Cxxx1());
welches die Application zum laufen bringt aufruft. Da hinter hab ich dann den Aufruf:
Application.Run(new Cxxx2());
Die zweite Application soll gestartet werden, wenn das erste Fenster geschlossen wird. Soweit funktioniert das auch. Aber das Zweite Fenster (application Cxxx2) wird kurz geöffnet und dann das komplette Programm geschlossen.
Liegt das an meinem DisposeAufruf?
protected override void Dispose( bool disposing )
{
base.Dispose(disposing);
}Wie schließe ich denn nur das Fenster und nicht die ganze Anwendung?
Oder denke ich einfach zu kompliziert und es ist ganz einfach?
Gruss Gandi
-
Wenn deine beiden Applikationen nur Windows.Forms sind, probier doch mal folgendes:
static void Main()
{
Form1 form = new Form1(); form.ShowDialog(); Application.Run( new Form2());
}[/code]
Du zeigst Form1 erst als modales Fenster an und startest anschließend Form2 wie üblich.
-
Soviel ich weiß wird das ganze Grundgerüst abgebaut, deswegen scheitert ein neuer Run-Start Versuch.
Du kannst aber ganz normal dein Hauptfenster übergeben. Aber am Anfang nicht erzeugen, sondern dein Intro ablaufen lassen. Am besten in einen eigenen Thread und in der zwischen Zeit initialisierst du dein Haupfenster.
Ablaufdiagramm:
1. Application.Run( dein HauptFenster )2. Im Konstruktor
2.1 Thread Starten -> Intro Abspielen
2.2 Hauptanwendung starten, nicht sichtbar machen
2.3 Warten auf Status -> Intro beendet
2.4 Hauptanwendung sichtbar machen
-
Ok, da hab ich wohl zu kompliziert gedacht. *mist*