程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 如何使MDI子窗體不重復被打開

如何使MDI子窗體不重復被打開

編輯:.NET實例教程

有很多朋友希望MDI子窗體不重復被打開,如果子窗體已經被創建了,則把它激活,而不是又創建了一個MDI子窗體,其實中C#提供的MdiChildren這個屬性就可以解決這個問題,下面假設一個treeview控件,點擊treevIEw上面的相應結點,就會創建以這個結點命名的MDI子窗體,若是子窗體已經被創建,則把它激活,顯示在所有子窗體的最前面。代碼如下:

private void treeView_AfterSelect(object sender, System.Windows.Forms.TreeVIEwEventArgs e)

{

    System.String str = treeView.SelectedNode.Text;//取得相應treevIEw結點的text值

    bool remark=true;

    for(int i=0; i<this.MdiChildren.Length;i++)

    if(this.MdiChildren[i].Name.Equals( str )) //查看有沒有相同的MDI子窗體

    {

        this.MdiChildren[i].Activate(); //子窗體已經被創立,激活它

        remark=false;

        break;

    }

    if(remark) // 末創立,建立子窗體

    {

        Form2 temp_form = new Form2();

        temp_form.MdiParent=this;

        temp_form.Name=str;

        temp_form.Text=str;

        temp_form.Show();

    }

}

 

若是有很多種窗體(例如form2 , form3 , form4等等 )要創建,那麼可以用一個switch來判斷具體要創建哪個。

 

還有一個辦法就是判斷子窗體的句柄,請參見CSDN中“愚翁專欄”博客的相關內容。在這裡不重復講述了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved