xxxxxxxxxx
{
this.Hide();
Form1 f1 = new Form1();
f1.ShowDialog();
this.Close();
}
xxxxxxxxxx
this.Hide();//Hide the 'current' form, i.e frm_form1
//show another form ( frm_form2 )
frm_form2 frm = new frm_form2();
frm.ShowDialog();
//Close the form.(frm_form1)
this.Close();
xxxxxxxxxx
// Look through all open forms to see if there is already a Form2 open.
// If it is, Close it. This prevents the user from (purposely) having 5 of the same forms open.
// If you try to cycle through open forms after closing one, it crashes,
// because it edits the list of forms while cycling through it
// This is why it is converted into a list of forms first.
foreach (Form frm in Application.OpenForms.Cast<Form>().ToList())
{
if (frm.Name == "Form2")
{
frm.Close();
}
}