How to show a form again after hiding it?

Oktay picture Oktay · Nov 5, 2012 · Viewed 40.8k times · Source

I have two forms. I need to open a second form with a button. When I open form2 I hide form1. However when I try to show form1 again from form2 with a button it doesn't work. My form1 code is:

Form2 form2 = new Form2();        
form2.ShowDialog();

Inside form2 code:

Form1.ActiveForm.ShowDialog();

or

Form1.ActiveForm.Show();

or

form1.show(); (form1 doesn't exist in the current context)

doesn't work. I do not want to open a new form

Form1 form1 = new Form1();   
form1.ShowDialog();

I want show the form which I hided before. Alternatively I can minimize it to taskbar

this.WindowState = FormWindowState.Minimized;

and maximize it from form2 again.

Form2.ActiveForm.WindowState = FormWindowState.Maximized;

however the way I am trying is again doesn't work. What is wrong with these ways?

Answer

Marco picture Marco · Nov 5, 2012

You could try (on Form1 button click)

Hide();
Form2 form2 = new Form2();        
form2.ShowDialog();
form2 = null;
Show();

or (it should work)

Hide();
using (Form2 form2 = new Form2())       
    form2.ShowDialog();
Show();