none
Mostrar el formulario sin show RRS feed

  • Pregunta

  • Estimados

             Junto con saludarlos, necesito ayuda para poder mostrar un formulario sin usar el show, ya que al utilizarlo me abre un nuevo formulario y no el abierto. En la web encontre este codigo para saber si un formulario se encuentra abierto o no, si no esta abierto este lo abre pero no se como mostrar dicho formulario ya abierto sobre el formulario principal

    private void txtUser_Click(object sender, EventArgs e)
            {
                Form existe = Application.OpenForms.OfType<Form>().Where(pre => pre.Name == "NumericTouch").SingleOrDefault<Form>();
                if (existe != null)
                {
                    //Mensaje muestra que el formulario ya esta abierto
                    MessageBox.Show("ya inicializado");
                    
                }
                else
                {
                    NumericTouch alfa = new NumericTouch(instance);
                    alfa.Show(this);
                }
            }

    jueves, 19 de octubre de 2017 20:57

Respuestas

  • var f = Application.OpenForms.Cast<Form>().FirstOrDefault(x => x is NumericTouch);
    
    if (f != null)
    {
    	f.BringToFront();
    	return;
    }
    
    NumericTouch alfa = new NumericTouch();
    alfa.Show();


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    jueves, 19 de octubre de 2017 21:32

Todas las respuestas

  • Servirá Form2.Focus() ?

     edito: era en C# perdón, si declaras a nievel formulario Public Form Frm = New Form2()

    para luego un um button abrir ejL

     Frm.Show

    y en otra instancia, luego de comprobar que está abierto con el codigo que tienes

    Frm.WindowState = FormWindowState.Normal;  // para que si está minimizado se coloque en normal

     Frm.Focus()

    Debería funcionar

    Saludos


    • Editado Marcelo PF jueves, 19 de octubre de 2017 21:27
    jueves, 19 de octubre de 2017 21:11
  • var f = Application.OpenForms.Cast<Form>().FirstOrDefault(x => x is NumericTouch);
    
    if (f != null)
    {
    	f.BringToFront();
    	return;
    }
    
    NumericTouch alfa = new NumericTouch();
    alfa.Show();


    Nuestra profesión exige tener pasión por resolver problemas de una manera óptima y eficiente.
    jueves, 19 de octubre de 2017 21:32