判断一下,如果存在就show否则new ,
foreach(Form f in this.MdiChildren)
{
if (f is Form2)
{
f.Focus();
f.WindowState = FormWindowState.Maximized;
return;
}
} Form2 frmrp = new Form2();
frmrp .WindowState = FormWindowState.Maximized;
frmrp.MdiParent = this;
frmrp.Show();
foreach(Form f in this.MdiChildren)
{
if (f is Form2)
{
f.Focus();
f.WindowState = FormWindowState.Maximized;
return;
}
} Form2 frmrp = new Form2();
frmrp .WindowState = FormWindowState.Maximized;
frmrp.MdiParent = this;
frmrp.Show();
針對你的具體情況: 用菜單項
可以設置menuitem的checked狀態,在打開窗體時設為true, 每次click時檢測一下此菜單項的checked狀態, 如果true則不用再次打開
你定义一个具体窗体显示时
form1 f;
在点击菜单事件时,写
if(f==null)
{f=new form();
f.show();}
else
{
f.show();
}
class ssdfs
{
private Form1 ff; public ssss()
{
if (ff!=null)
{
ff = new Form1();
ff.Show();
}
}
}
第一,如果此窗体存在,则再次点击按钮是将其激活;如果不存在则new出.
第二,改变模式,如ShowDialog().