1. 程式人生 > >MDI窗體(多文件介面)

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父窗體的工作區內