MDI窗體(多文件介面)
多文件介面(Multiple-Document Interface),簡稱MDI窗體。MDI窗體用於同時顯示多個文件,每個文件顯示在各自的視窗中。MDI窗體中通常有包含子選單的視窗選單,用於在視窗或文件之間進行切換。
一、設定MDI窗體
在MDI窗體中,起到容器作用的窗體被稱為“父窗體”,可放在父窗體中的其他窗體被稱為“子窗體”,也稱為“MDI子窗體”。當MDI應用程式啟動時,首先會顯示父窗體。所有的子窗體都在父窗體中開啟,在父窗體中可以在任何時候開啟多個子窗體。每個應用程式只有一個父窗體,其他子窗體不能移出父窗體的框架區域。
Ⅰ.設定父窗體
如果要將某個窗體設定為父窗體,只要在窗體的屬性面板中,將IsMdiContainer屬性設定為True即可。
注:在設定MDI父窗體時,要儘可能地用專案的啟動窗體進行設定。
Ⅱ.設定子窗體
設定完父窗體後,通過設定某個窗體的MdiParent屬性來確定子窗體。語法:
Public Form MdiParent{get;set;}
例:將Form2,Form3窗體設定為子窗體,並在父窗體中開啟,程式碼如下:
Form2 fm2 = new Form2(); //例項化Form2
Fm2.Show(); //使用Show()方法開啟窗體
Fm2.MdiParent = this; //設定MdiParent屬性,將當前窗體設定為父窗體
Form3 fm3 = new Form3();
//例項化Form3
Fm3.Show(); //使用Show()方法開啟窗體
Fm3.MdiParent = this; //設定MdiParent屬性,將當前窗體設定為父窗體
二、排列MDI子窗體
可以通過使用帶有MdiLayout列舉的LayoutMdi方法來排列多文件介面父窗體中的子窗體。語法:
Public void LayoutMdi(MdiLayout value);
說明:value是MdiLayout列舉值之一,用來定義MDI子窗體的佈局。MdiLayout列舉用於指定MDI父窗體中子窗體的佈局。
例:LayoutMdi(MdiLayout.Cascade);
MdiLayout的列舉成員說明如下:
列舉成員 |
說明 |
Cascade |
所有MDI子窗體均層疊在MDI父窗體的工作區內 |
TileHorizontal |
所有MDI子窗體均水平平鋪在MDI父窗體的工作區內 |
TileVertical |
所有MDI子窗體均垂直平鋪在MDI父窗體的工作區內 |