WINFORM-MDI子窗体只打开一次
1.可以写一个函数MdiChildShow(Form frm)
2.如果你要打开的窗体是Form1.
Form1 frm = new Form1(frm);
this.MdiChildShow(frm);
搞定,收工!
函数代码如下:
//Mdi子窗口不能重复打开
private void MdiChildShow(Form f)
{
bool isOpen = true;
foreach (Form frm in this.MdiChildren) //遍历已打开的MDI
{
if (frm.Name == f.Name)
{
frm.Activate(); //赋予焦点,到最前面来
f.WindowState = FormWindowState.Maximized; //设置窗体最大化
isOpen = false;
break;
}
}
if (isOpen) //如果没有找到相同窗体则打开新窗体
{
f.MdiParent = this; //设置父窗体
f.Show();
}
}

浙公网安备 33010602011771号