none
Volver a la ventana que la llamo. RRS feed

  • Pregunta

  • Hola :

    Perdonad que pregunte algo tan simple, deberia haber empezado hace tiempo en C# pero nunca es tarde ....

    pero no consigo hacer lo siguiente:

    En Winforms de una ventana principal abrimos una nueva ventana Form2 y ocultamos la principal

     this.Hide();
    Form2 Ventana2 = new Form2();
    Ventana2.Show();


    Entonces al cerrar la Ventana2  me gustaria que se activara de nuevo la ventana principal

    pruebo algo asi:

    this.Owner.Activate();

    pero me da error en ejecucion, como puedo volver a la ventana que la ha llamado.

    Saludos y gracias por vuestra colaboracion

    Jose Vte.

    domingo, 18 de febrero de 2018 18:48

Respuestas

Todas las respuestas

  • No lo he probado, pero seguramente debería funcionar así:

     this.Hide();
     Form2 Ventana2 = new Form2();
     Ventana2.ShowDialog();
     this.Show();

    Observa que el truco es usar ShowDialog en lugar de Show.

    domingo, 18 de febrero de 2018 21:27
    Moderador
  • Hola Pablo:

    Vale, ya comprendo con ShowDialog fuerzas a que se cierre esta ventana y cuando se ha cerrado abres la otra desde el mismo formulario, ya que tienes acceso a ella con this.Show()

    Funciona 

    No lo habia pensado, pero muy bien.

    Gracias amigo.

    Jose.

    lunes, 19 de febrero de 2018 19:24
  • >>comprendo con ShowDialog fuerzas a que se cierre esta ventana

    el ShowDialog() muestra la ventana de forma modal, por eso la ejecucion del codigo se detiene alli hasta que cierres la ventana y luego continua desde ese punto

    pero puede hacer eso mismo con el show() si controlas el evento FormClosed

     Hacer visible un Form (oculto) desde otro

    en el link se planteo el mismo tema

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 19 de febrero de 2018 19:46
  • Hola, de esta manera puedes minimizar el formulario e ir a otro y viceversa:

     private void btn_VolverAlRegistro_Click(object sender, EventArgs e)
            {
                Empleados frm = new Empleados();
    
                frm.Show();
                this.Hide();
            }

    Toma en cuenta:

    Empleados es el formulario al que deseo ir.

    con el this.Hide(); se minimiza el formulario donde estas.

    Espero sea de ayuda par futuras visitas a esta pregunta.

    Saludos!


    Dave Castañeda. CCS - VENEZUELA.

    jueves, 1 de marzo de 2018 15:03