none
No reinicia automáticamente la aplicación

    Pregunta

  • Hola a todos:

    Preciso que mi aplicación se pueda reiniciar automáticamente después que el usuario ha cambiado de base de datos.

    Estoy probando varias formas y la cierra perfectamente, pero, no la vuelve a abrir.

    Estoy utilizando estos códigos aparte de haber probado ya el Process.Start()

    La misma tiene que entrar por el Submain pero no entra por ningún sitio.

                        Application.Exit()
                        Process.Start(Application.ExecutablePath)
    
                        'Application.ExitThread()
                        'Application.Restart()

    La preciso cerrar desde un formulario Modal.

    Bueno a ver si alguien me puede dar luz a esto.

    Un saludo.

    Gemma

    viernes, 30 de diciembre de 2016 6:48

Respuestas

Todas las respuestas

  • Solo tienes que poner Application.Restart() sin poner Application.Exit() ni nada para cerrarla previamente.

    Saludos, Javier J

    • Marcado como respuesta gemma_campillo viernes, 30 de diciembre de 2016 16:11
    viernes, 30 de diciembre de 2016 7:52
  • Hola Javier:

    El formulario es modal, es decir se abre desde el form principal únicamente, por lo tanto cuando se ve está encima del principal, todo correcto y bien. Vale, ahora le meto el Application.Restart() y si cierra la aplicación y la vuelve a abrir pero antes cierra ese form modal y después el principal empieza a temblar por la cantidad de controles que lleva me imagino y queda de pena, porque realmente tarda un ratito 3 segundos en cerrarse todo y volverse a abrir, el tema está en si puedo evitar que el form principal no tiemble al ir cerrándose.

    Bueno querido amigo, feliz año nuevo y muchas gracias.

    Gemma

    viernes, 30 de diciembre de 2016 16:10
  • ¿Has probado a hacer hide() en el formulario antes del restart? De esta forma evitarás ese "temblor" al cerrarse.



    Saludos, Javier J

    • Marcado como respuesta gemma_campillo martes, 3 de enero de 2017 7:44
    martes, 3 de enero de 2017 7:28
  • Hola Javier:

    Va muy bien, eso era lo que me faltaba.

    Muchas gracias por tu preocupación en la solución.

    Un abrazo.

    Gemma

    martes, 3 de enero de 2017 7:44
  • Hola a todos.

    ¿Es posible reiniciar una aplicación desde el Submain?. Comento esto, porque añado desde el Submain una cadena de conexión y preciso que me coja la misma, ya que si no reinicio no me la coge aunque esté en el exe.config., es cuando reinicio la aplicación que ya la coge perfectamente. Pero si le hago un Application.Star en el Submain, me da errores.

    Por ejemplo, le creo la nueva conexión en el archivo de configuración mediante código y despuès cuando voy a leer la conexión está a nothing.

    Dim cnn As New SqlCeConnection(ConfigurationManager.ConnectionStrings("PerseoSQLce").ConnectionString & ";Password=xxx"). Cierro la aplicación y la vuelvo a abrir y ya está solucionado, ya la reconoce.

    No se de que otra manera se podría solucionar.

    Un saludo a todos.

    Gemma

    martes, 3 de enero de 2017 14:55
  • hola

    podrias hacer uso del

    Application.Restart Method ()

    para reiniciar la aplicacion desde codigo y asi toma el connection string

    aunque la verdad es que no recomendaria que la instancia de la conexion quede abierta todo el tiempo ni lo deifnas de forma global, deberias rear una capa de dato

    como explico aqui

    [WinForms] Edición Empleados

    de esta forma no tendrias el problema que planteas

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 3 de enero de 2017 15:35
  • Hola Leandro:

    Gracias por responder.

    Ya estoy aplicando: Application.restart lo que en vez de hacerlo desde el Submain lo hado desde el form de presentación. Pero me sale el mismo error que en Submain y no entiendo lo que indica dicho error.

    Te adjunto un pantallazo.

    Cuando indica: Falta el elemento raíz, no entiendo que quiere decir.

    Un saludo y muchas gracias

    Gemma


    martes, 3 de enero de 2017 16:28
  • Solucionado:

    Buscando la clave del mensaje, he corregido el archivo xml y ya está, funcionando correctamente.

    Un saludo.

    Gemma

    martes, 3 de enero de 2017 19:05