WinForm中的單鍵模式

在WinForm中經常用到MDI容器。

MDI容器就是所謂的多文檔界面。

不過我們實際應用中一般只用到一個父容器,以及在同一時間只能有一個子窗體。


就像上圖一樣。

單鍵模式

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();
            }
        }

只有一個活動子窗體

<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>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章