Hallo zusammen,
ich starte eine Forms Anwendung wie folgt um erst mal ohne Fenster zu starten. Erst wenn gewisse Bedingungen vorherrschen, soll die Anwendung sichtbar werden, wenn nicht, mit einer Meldung geschlossen werden.
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using(FormMain formMain = new FormMain())
Application.Run();
Das Problem ist, dass ich die Anwendung aus der formMain heraus nicht geschlossen bekomme.
Selbst wenn im Konstruktor als erstes
Application.Exit();
steht, läuft die Anwendung weiter.
Was mache ich verkehrt?
Ich habe festgestellt, dass ich mit
Environment.Exit(1);
ans Ziel komme, nur verstehe ich es nicht.
Gruß
Carlo
"Palabras que no coinciden con hechos no valen nada."
Wenn du Application.Exit()
im Form-Konstruktor aufrufst, so ist das zu früh, da zu diesem Zeitpunkt ja noch nicht Application.Run()
läuft (aber in Load
oder Shown
sollte es funktionieren sofern du die Application.Run(Form)
-Überladung benutzt).
Aber warum überhaupt so?
Du kannst ja vor dem Aufruf noch beliebige Abfragen machen, d.h. in etwa so
if (...)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using(FormMain formMain = new FormMain())
{
if (...)
Application.Run(formMain);
}
}
Und wenn du doch Application.Run
nicht direkt mit der Form verknüpfen willst, dann solltest du besser die Application.Run(ApplicationContext)-Überladung benutzen.
Okay, danke für die Ausführungen.
Du kannst ja vor dem Aufruf noch beliebige Abfragen machen...
Damit hast Du natürlich völlig recht, irgendwie hatte ich das nicht "gesehen".
Damit läüfts prima.
Application.Run(ApplicationContext) werde ich mir mal anschauen, habe ich so noch nie verwendet.
Danke!
Gruß
Carlo
"Palabras que no coinciden con hechos no valen nada."