The easiest way is to keep a form level variable which refers to your open instance. When the user requests Form2, check, and if it is not null, then ask and close if necessary.
Form1 openForm1 = null;
openForm1 = new Form1();
if (openForm1 != null)
if (MessageBox.Show("Close it?") == DialogResult.OK)
Form2 f = new Form2();
You will also want to handle the Form1.FormClosed event to set the openForm1 variable to null again.