Was ist die bevorzugte Methode zum programmatischen Schließen einer C # -WPF-Anwendung?

8

Welches ist die bevorzugte Methode zum Schließen einer C # -WPF-Anwendung?

1) Aufruf von Window.Close () im Hauptfenster

2) Aufruf von Application.Current.Shutdown (0) im Hauptfenster.

Sind die beiden semantisch äquivalent oder gibt es eine subtile Unterscheidung, die ich beachten muss?

    
TK. 07.06.2011, 13:14
quelle

3 Antworten

4

Der erste schließt das Fenster nur, abhängig von Ihrer Application.ShutdownMode das die Anwendung nicht einmal herunterfahren kann.

Wie Sie die Anwendung beenden, hängt ausschließlich davon ab, was Sie tun möchten. Ich für meinen Teil nenne die Application.MainWindow und setze ShutdownMode auf OnMainWindowClose , so verhindern alle kleinen Dialoge nicht, dass die Anwendung geschlossen wird (da der Standardwert OnLastWindowClose ist).

    
H.B. 07.06.2011, 13:16
quelle
3

Definitiv Window.Close(); Dies wird allen anderen Fenstern erlauben, ihre verfügbaren Ressourcen ordnungsgemäß herunterzufahren und zu finalisieren. Beachten Sie, dass Sie dies im Hauptfenster aufrufen sollten, um die gesamte App zu schließen (d. H.% Co_de% aus dem Hauptfenster).

    
Teoman Soygul 07.06.2011 13:17
quelle
0

Application.Shutdown schließt alle offenen Fenster und disponiert sie, außerdem haben Sie die Möglichkeit, einen anderen Exit-Code zurückzugeben. Also würde ich (normalerweise) mit Application.Shutdown gehen.

    
Botz3000 07.06.2011 13:25
quelle

Tags und Links