Nehmen wir an, dass unter der Nummer WindowsFormsApplicationBase.OnCreateMainForm()
ein Fehler aufgetreten ist, wie kann ich die Anwendung "sanft" beenden? Ich möchte gehen wie die Verwendung hatte die Schließen-Taste gedrückt, so denke ich, Environment.Exit()
wird nicht gut passen, da es eine Anwendung sofort beendet und möglicherweise nicht zulassen, dass die Anwendung selbst aufräumen.Was ist der richtige Weg, um die Anwendung von WindowsFormsApplicationBase.OnCreateMainForm() zu beenden?
Mein Code sieht wie folgt aus:
public class MyApp : WindowsFormsApplicationBase
{
public MyApp()
{
this.IsSingleInstance = true;
}
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new splashForm();
}
protected override void OnCreateMainForm()
{
if(!do_something()) {
/* something got wrong, how do I exit application here? */
}
this.MainForm = new Form1(arg);
}
Und meine Main()
Funktion:
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
new MyApp().Run(args);
}
zu vermeiden. Die Anwendung wurde noch nicht gestartet. Es wird nur noch initialisiert, der Aufruf von Application.Run() passiert später. So kann Application.Exit() nicht funktionieren. Sicher, Environment.Exit() wird die Arbeit einfach erledigen. –
Environment.Exit() wird beendet, anstatt die Anwendung zu beenden? Wenn ja, denke ich, es ist der Weg zu gehen – Jack