Sometimes in the myriad of forms, it can become quite difficult figuring out whether or not a form has already been loaded and if is still open or not. To determine if a form has already been loaded into memory, you can use the following procedure that makes use of LINQ which queries the Applicaction.OpenForms collection:
private void CheckForms() { var frm = Application.OpenForms.Cast().Where(x = x.Name == "Form1").FirstOrDefault(); if (null != frm) { frm.Show(); frm.Activate(); frm.BringToFront(); } else { Form1 frm = new Form1; frm.Show(); frm.Activate(); frm.BringToFront(); } }