使用Application.OpenForms解决 if(Application.OpenForms["Form1"]==null) { Form1 frm =new Form1(); frm.Show(); frm.MdiParent=this; } else{ Application.OpenForms["Form1"].Show(); } //在mdi窗体中显示一个子窗体 //调用方法 Form form1 = new Form(); open(form1); private void open(Form form) { if (!form.Created) { foreach (var item in this.MdiChildren) { item.Close(); } form = (Form)Activator.CreateInstance(form.GetType()); form.MdiParent = this; form.Show(); } else { form.Focus(); } } //将form 窗体中显示中mdi窗体中 Form2 form = new Form2(); form.MdiParent = this; form.Show();