none
Cerrar aplicacion windows forms RRS feed

  • Pregunta

  • Hola gente !

    Cuando compilo una aplicacion en el VS 2008 todo anda bien, pero cuando quiero cerrar la aplicacion uso los siguientes metodos:

    Application.Exit();

    Application.ExitThread();

    Sin embargo cuando termino de compilar, el VS 2008 aun no muestra como disponible el boton de color verde que parece una fecha verde, es decir el que dice StartDebugging, no se habilita, y los botones que hacen referencia el ReStart o Stop del IDe aun siguen jabilitaods, es decir es como si la aplicacion continuara corriendo, entonces:

    Cual es la correcta forma para cerrar un programa en Windows Forms ?

    Como puedo saber si en el el programa hay hilos corriendo aun sin que los pueda detectar ?

    Gracias !

     

     

    jueves, 6 de octubre de 2011 23:13

Respuestas

  • Buenas Freddy, lo normal es que una aplicación de Windows Form se cierre cuando s cierra el Form principal, es decir, el que primero se abrio.

    Un saludo,

    Miguel.

    jueves, 6 de octubre de 2011 23:20
  • Pues no recuerdo en este momento si lo que dice Miguel es 100% cierto.  O sea, no me malinterpreten:  Es correcto que la forma correcta de terminar la ejecución es dejar que el código fluya naturalmente, y el código fluirá naturalmente cuando el formulario principal se cierra, y esto es 100% cierto para los casos en que se abre un único formulario.

    Pero creo que si se abren más formularios, la aplicación se cerrará cuando todos los formularios se cierren, no solamente el principal.  Pero bueno, esto debería ser fácil de comprobar si es mucha la duda.  En lo personal no me llama la atención lo suficiente como para probar ahora, jeje.  :-)  Si su aplicación usa varios formularios, pues le conviene probar esto.


    Jose R. MCP
    viernes, 7 de octubre de 2011 0:10
    Moderador
  • Hola. En principio, tendrías suficiente con poner Exit

    De todas formas, revisa este artículo (inglés) http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx 


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    viernes, 7 de octubre de 2011 0:56
  • hola

    una consulta de casualidad cuando sucede esto has abierto un thread, o sea has lanzado un hilo cuando usas el Application.Exit y la aplciacion no termina ?

    si es asi se explciaria porque aun hay un proceso ejecutandose hasta que no lo termines no finaliza la aplicacion

    recuerda validar y finalizar los thread que pudieras haber lanzado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 7 de octubre de 2011 1:05

Todas las respuestas

  • Buenas Freddy, lo normal es que una aplicación de Windows Form se cierre cuando s cierra el Form principal, es decir, el que primero se abrio.

    Un saludo,

    Miguel.

    jueves, 6 de octubre de 2011 23:20
  • Pues no recuerdo en este momento si lo que dice Miguel es 100% cierto.  O sea, no me malinterpreten:  Es correcto que la forma correcta de terminar la ejecución es dejar que el código fluya naturalmente, y el código fluirá naturalmente cuando el formulario principal se cierra, y esto es 100% cierto para los casos en que se abre un único formulario.

    Pero creo que si se abren más formularios, la aplicación se cerrará cuando todos los formularios se cierren, no solamente el principal.  Pero bueno, esto debería ser fácil de comprobar si es mucha la duda.  En lo personal no me llama la atención lo suficiente como para probar ahora, jeje.  :-)  Si su aplicación usa varios formularios, pues le conviene probar esto.


    Jose R. MCP
    viernes, 7 de octubre de 2011 0:10
    Moderador
  • Hola. En principio, tendrías suficiente con poner Exit

    De todas formas, revisa este artículo (inglés) http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx 


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    viernes, 7 de octubre de 2011 0:56
  • Exit es muy mala práctica.  Nunca debe recomendarse.
    Jose R. MCP
    viernes, 7 de octubre de 2011 0:58
    Moderador
  • hola

    una consulta de casualidad cuando sucede esto has abierto un thread, o sea has lanzado un hilo cuando usas el Application.Exit y la aplciacion no termina ?

    si es asi se explciaria porque aun hay un proceso ejecutandose hasta que no lo termines no finaliza la aplicacion

    recuerda validar y finalizar los thread que pudieras haber lanzado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 7 de octubre de 2011 1:05
  • Buenote, Gracias.

    Espi

    lunes, 29 de octubre de 2012 18:03
  • pero ud que recomienda? dado que a mi me pasaba lo mismo, y aplicando el exit me funciono! que recomienda hacer ud?

    jueves, 18 de mayo de 2017 20:45