Before opening the form from your code, check the Application.OpenForms property and see if the form exists in the collection.
Something like:
if ((Application.OpenForms["Form1"] as Form1) != null)
{
//Form is already open
}
else
{
// Form is not open
}