可以设置一个判断子窗体是否存在的方法,如果存在,激活,否则新生成一个:
public bool checkChildFrmExist(string childFrmName)
{
foreach (Form childFrm in this.MdiChildren)
{
//用子窗体的Name进行判断,如果已经存在则将他激活
if (childFrm.Name == childFrmName)
{
if (childFrm.WindowState == FormWindowState.Minimized)
childFrm.WindowState = FormWindowState.Normal;
childFrm.Activate();
return true;
}
}
return false;
}
private void recordItem_Click(object sender, EventArgs e)//菜单的点击事件
{
if (checkChildFrmExist("窗体名字") == true)
{
return;
}//存在,激活,否则new一个出来
窗体 新窗体 = new 窗体();
新窗体.MdiParent = this;
新窗体.Show();
}