不重複開啟相同的 MDI 子視窗

在 MDI 父視窗 Form1 設定可重複/不可重複開啟的 MDI 子視窗 Form2

Case1. 可重複開啟相同 MDI 子視窗

 private void 倉庫資料設定ToolStripMenuItem_Click(object sender, EventArgs e)
{
     Form2 frm2 = new Form2();            
     frm2.Show();
     frm2.MdiParent = this;
}  


Case2. 不可重複開啟相同的 MDI 子視窗

private void 倉庫資料設定ToolStripMenuItem_Click(object sender, EventArgs e)
{
    Form2 frm2 = new Form2();
    foreach (Form f in this.MdiChildren)
    {
        //如果子視窗已經存在
        if (f.Name == frm2.Name)
        {
            //將該子視窗設為焦點
            f.Focus();
            return;
        }
    }
    frm2.MdiParent = this;
    frm2.Show();
}


轉載來源: 不允許MDI子視窗 重複開窗