在VB中做 MDI窗體很簡單。在C#裡就沒有這個輕松了,不過還是很方便的。
首先在C#裡添加一個窗體,命名為MdiMain,將其IsMdiContainer設定成true,這樣MDI主窗體就建立了。然後再添加新窗體,命名為MdiChild。現在運行程序,會發現只運行了MdiMain這個主窗體。呵呵因為我們沒有寫任何代碼,第二個窗體當然不能出現了。現在來添加這個代碼。
在MdiMain窗體上添加一個Menu,然後隨便寫個子菜單。雙擊子菜單,會出現它的Click事件,在這個事件內寫如下代碼:
MdiChild frmMdiChild=new MdiChild();
frmMdiChild.MdiParent=this;
frmMdiChild.Show();
這樣在單擊菜單項的時候就能顯示MdiChild這個窗體了。但是這樣會出現一個問題,就是說如果我按兩次那個菜單項就會出現兩個MdiChild窗體,呵呵,這是因為在C#中窗體就是一個Class,用剛才的代碼就新建了一個MdiChild的實例。所以你按幾次菜單項就會出現幾個窗體了。控制的方法之一就是寫一個變量,來存放是否打開了這個窗體,如果打開了就不繼續執行了。這個小代碼還是很簡單的。
如果想通過程序關閉MdiChild窗體,只需在MdiChild裡添加一個Button,在Button的Click事件裡寫上Close();就可以了。