elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Monstrar Formulario Padre (sin crear otro de el) C#
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Monstrar Formulario Padre (sin crear otro de el) C#  (Leído 2,687 veces)
SrTrp


Desconectado Desconectado

Mensajes: 327


Script/C#


Ver Perfil
Monstrar Formulario Padre (sin crear otro de el) C#
« en: 7 Abril 2019, 06:22 am »

Bueno como podria lograr esto ya que tengo el formulario padre y con el abro otros formularios hijos y para esto hago lo siguiente para obtener algo de estetica y no se vea tan mal
Código
  1. Form2 fm = new Form2();
  2. fm.Show();
  3. this.Hide();
  4.  
Se esconde el formulario padre y se muestra el formulario hijo pero si quiero volver al formulario padre tengo que crear otro objeto en este caso (form1) que es el formulario es decir el formulario que oculte no lo puedo monstrar de nuevo?
Y haciendo lo que hago cierro el formulario padre que cree pero no se cierra por completo mi app.


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Monstrar Formulario Padre (sin crear otro de el) C#
« Respuesta #1 en: 7 Abril 2019, 08:27 am »

Se esconde el formulario padre y se muestra el formulario hijo pero si quiero volver al formulario padre tengo que crear otro objeto en este caso (form1) que es el formulario es decir el formulario que oculte no lo puedo monstrar de nuevo?

Necesitas pasar la instancia del formulario principal a los formularios hijos para que de esta forma puedas manipular y llamar a sus funciones.

1- Una posible solucion seria tener una variable en cada clase hija:

Código
  1.    public partial class Form2 : Form
  2.    {
  3.        Form1 form1;
  4.        public Form2(Form1 pForm1)
  5.        {
  6.            InitializeComponent();
  7.            this.form1 = pForm1;
  8.        }
  9.  
  10.        private void button1_Click(object sender, EventArgs e)
  11.        {
  12.            form1.Show();
  13.            this.Close();
  14.        }
  15.        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
  16.        {
  17.            form1.Show();
  18.        }
  19.    }

2- Otra forma es usar el metodo Show(Owner)

Código
  1.        // Form1
  2.        private void button1_Click(object sender, EventArgs e)
  3.        {
  4.            Form2 form2 = new Form2();
  5.            form2.Show(this);
  6.            this.Hide();
  7.        }
  8.  
  9.        // Form2
  10.        private void button1_Click(object sender, EventArgs e)
  11.        {
  12.            this.Owner.Show();
  13.            this.Close();            
  14.        }
  15.        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
  16.        {
  17.            this.Owner.Show();
  18.        }


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines