在C#中是否可以判断某个Form已经打开了?
例如:
有两个form,分别为form1和form2,在form1种有个Button1,在Button1中的点击事件中,打开form2
private void Button1_Click()
{
form2 f = new form2();
f.Show();
}
在以上的代码中form2是同时可以打开多个的。
我的问题是:在Button1的点击事件是否能够判断:当form2已经有一个实例打开时,就不再打开新的form2;如果还没有form2的实例打开,则打开一个form2。
如果是子窗口的模式,是可以通过以下代码判断出某个子窗体是否已经打开:
form2 f = new form2();
foreach(Form key in this.MdiChildren)
{
if(key.Name.ToUpper() == f.Name.ToUpper())
{
return;
}
}
f.Show();
但对于非子窗口的form不知怎么判断是否已经打开?