在WinForm中常常用到MDI容器。this
MDI容器就是所谓的多文档界面。spa
不过咱们实际应用中通常只用到一个父容器,以及在同一时间只能有一个子窗体。code
就像上图同样。orm
单键模式
对象
public void ShowChildForm<T>() { //经过数据类型建立泛型对象 Form newForm = (Form)Activator.CreateInstance(typeof(T)); bool b1 = true;//默认该窗体不存在 foreach (Form frm in this.MdiChildren) { if (frm.GetType()==newForm.GetType()) { frm.Activate(); b1 = false; } } if (b1) { newForm.MdiParent = this; newForm.Show(); } }
只有一个活动子窗体blog
<span style="font-size:18px;">public bool ShowOnlyOne() { bool b1 = true; if (this.MdiChildren.Length == 0) { b1 = true; } else { b1 = false; } return b1; }</span>
<span style="font-size:18px;"> private void 借阅ToolStripMenuItem_Click(object sender, EventArgs e) { if (ShowOnlyOne()) { ShowChildForm<BookBorrow>(); } } </span>