2011-06-07 13 views

Respuesta

4

El primero solo cierra la ventana, dependiendo de su Application.ShutdownMode que incluso puede que no apague la aplicación.

Cómo salir de la aplicación depende exclusivamente de lo que quiere hacer, por mi parte, tiendo a definir el Application.MainWindow y establecer el ShutdownMode a OnMainWindowClose por lo que todos los pequeños diálogos no impiden la aplicación de cierre (ya que el defecto es OnLastWindowClose)

3

Definitivamente Window.Close(); Esto dará al resto de las ventanas para cerrar adecuadamente y finalizar sus recursos desechables. Tenga en cuenta que debe llamar a esto en la ventana principal para cerrar toda la aplicación (es decir, this.Close(); desde la ventana principal).

+2

Cerrar no funciona en todos los casos. Podría haber subprocesos de fondo u otras ventanas de nivel superior abiertas, lo que impediría que la aplicación se apagara. – CodeNaked

+0

Cuando Window.Close(); se llama desde las ventanas principales, se indica que todas las ventanas hijas se cierran (en realidad se llaman sus funciones Cerrar()). También estoy asumiendo que los hilos terminan correctamente en eventos OnClosing() como de costumbre. –

+2

Hace muchas suposiciones, no todas las ventanas de una aplicación pertenecen necesariamente a una ventana principal. –

0

Application.Shutdown cierra todas las ventanas abiertas y las desecha, también tiene la posibilidad de devolver otro código de salida. Entonces (generalmente) iría con Application.Shutdown.

Cuestiones relacionadas