1. 程式人生 > >WinForm排列MDI子窗體

WinForm排列MDI子窗體

log cli item 不容易 tile 程序 窗口 tar 實例

如果一個MDI窗體中有多個子窗體同時打開,假如不對其排列順序進行調整,那麽界面會非常的混亂,而且不容易瀏覽。那麽如何解決這個問題呢?我們可以通過使用帶有MdiLayout枚舉的LayoutMdi方法來排列多文檔界面父窗體中的子窗體。
語法:
public void LayoutMdi (MdiLayout value)
value:是MdiLayout枚舉值之一,用來定義MDI子窗體的布局。
MdiLayout枚舉用於指定MDI父窗體中子窗體的布局。
語法:
public enum MdiLayout
MdiLayout枚舉的枚舉成員及說明如表1所示。
表1MdiLayout枚舉成員

技術分享圖片



下面通過一個實例演示如何使用帶有MdiLayout枚舉的LayoutMdi方法來排列多文檔界面父窗體中的子窗體。

在菜單欄上新建個菜單項,如下所示:技術分享圖片

單擊“水平平鋪”菜單,使窗體中所有的子窗體水平排列,代碼如下。
private void 水平平鋪ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileHorizontal); //使用MdiLayout枚舉實現窗體的水平平鋪
}

程序的運行結果如下:技術分享圖片

單擊“垂直平鋪”菜單,使窗體中所有的子窗體垂直排列,代碼如下。
private void 垂直平鋪ToolStripMenuItem_Click(object sender, EventArgs e)

{
LayoutMdi(MdiLayout.TileVertical); //使用MdiLayout枚舉實現窗體的垂直平鋪
}

程序的運行結果如下:

技術分享圖片
單擊“層疊排列”菜單,使窗體中所有的子窗體層疊排列,代碼如下。
private void 層疊排列ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade); //使用MdiLayout枚舉實現窗體的垂直排列
}

程序運行結果如下:

技術分享圖片

註意點:要確保你做的程序是MDI(多文檔界面),在看到運行效果前你要先在MDI多文檔界面下打開幾個子窗口,這樣才能看到效果,其次打開的子窗口通常默認情況下是以

”層疊排列“的形式打開子窗口的。這個程序並沒有任何的難點。

WinForm排列MDI子窗體