先创建一个公共类,包含一个窗体集合 public Class formAccess { public static List<Form> formCollection=new List<Form>(); } 在Form1,form2,from3的load事件中添加如下代码: fromAccess.fromCollection.Add(this); 在from1,from2,from3的closed事件中添加如下代码: formAccess.fromCollection.Remove(this);
主窗体中遍历隐藏 froeach(Form f in fromAccess.fromCollection) { f.Hide(); }
bool bForm2Open=fasle;
bool bForm3Open=fasle;
mainForm在调用其它form的时候会建立他们的对象Form1 fm1=new Form1();
fm1.Show();
bForm1Open=true; //打开后设置为真
然后写个委托,在Form1,form2,Form3的窗体里重写OnClosed事件,然后在这里面用委托把
bForm1Open,bForm2Open,bForm3Open的值设置为假就是.
public Class formAccess
{
public static List<Form> formCollection=new List<Form>();
}
在Form1,form2,from3的load事件中添加如下代码:
fromAccess.fromCollection.Add(this);
在from1,from2,from3的closed事件中添加如下代码:
formAccess.fromCollection.Remove(this);
froeach(Form f in fromAccess.fromCollection)
{
f.Hide();
}