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:
public partial class Form2 : Form
{
Form1 form1;
public Form2(Form1 pForm1)
{
InitializeComponent();
this.form1 = pForm1;
}
private void button1_Click(object sender, EventArgs e)
{
form1.Show();
this.Close();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
form1.Show();
}
}
2- Otra forma es usar el metodo Show(Owner)
// Form1
private void button1_Click(object sender, EventArgs e)
{
Form2 form2
= new Form2
(); form2.Show(this);
this.Hide();
}
// Form2
private void button1_Click(object sender, EventArgs e)
{
this.Owner.Show();
this.Close();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Owner.Show();
}