有好几种方法可以做:
1:可以使用设计模式中的单例模式。
2:判断这个子窗体是否存在。
3:在全局声明处声明一个子窗体对象,在需要Show出来的时候才实例化它(不过要记得判断这个对象是否为null,为null就是意味着它还没有被实例化或者已经被关闭),确保对象单一。
现在我给你第二个方法的代码:
private bool checkChildFrmExist(string childFrmName)
{
foreach (Form childFrm in this.MdiChildren)
{
if (childFrm.Name == childFrmName) //用子窗体的Name进行判断,如果存在则将他激活
{
if (childFrm.WindowState == FormWindowState.Minimized)
childFrm.WindowState = FormWindowState.Normal;
childFrm.Activate();
return true;
}
}
return false;
}
其实第三个方法也很简便,自己去写。我写过的!