技术开发 频道

c# 建立多窗口界面(MDI)方法


【IT168技术文档】

  傳統上,可以為Windows編寫3種應用程序,它們是: 
  1)基於對話框的應用程序,它們給用戶顯示一個對話框,該 對話框提供了所有的功能。如計算器
  2)單一文檔界面(SDI),這些應用程序給用戶顯示一個菜單、一個或多個工具欄和一個窗口,在該窗口中,用戶可以執行任務。如WordPad
  3)多文檔界面(MDI),這些應用程序的執行方式與SDI相同,但可以同時打開多個窗口。

  MDI應用程序至少要由兩個截然不同的窗口組成。第一個窗口叫作MDI容器(Container),第二個為 可以在容器中顯示的窗口叫作MDI子窗口。創建MDI時,只需把窗體的IsMdiContainer屬性設為True即可。
創建子窗體時,要把這個窗體的MdiParent屬性設置為主窗口的一個引用,該窗體就變成子窗體了。不能通過Properties面板設置這個屬性,只能通過代碼來設置。

  建立MDI的方法 
  1、建立兩個窗體。將其中的一個作為主窗體的IsMdiContainer屬性設為True。
  2、將作為子窗體的窗體構造函數中傳入主窗體。並將MdiParent設為傳為的主窗體,
  3、在主窗體中呼叫子窗體。


  示例:
  注:下面代碼中的序號與上面建立方法的序號對應

  1、建立兩個窗體:frmContainer窗體,作為主窗體;frmChild窗體,為作子窗體。


  frmContainer代碼:
namespace MdiBasic { public partial class frmContainer : Form { public frmContainer() { InitializeComponent(); //1、將窗體設為主窗體容器 IsMdiContainer = true; //3、顯示子窗體 MdiBasic.frmChild child = new frmChild(this); child.Show(); } } }

  frmChild代碼:

namespace MdiBasic { public partial class frmChild : Form { //2、傳入主窗體 public frmChild(MdiBasic.frmContainer parent) { InitializeComponent(); //2、將子窗體注冊到容器中 this.MdiParent = parent; } } }

 

0
相关文章