WinForm排列MDI子窗体

Posted 泮聪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm排列MDI子窗体相关的知识,希望对你有一定的参考价值。

如果一个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子窗体的主要内容,如果未能解决你的问题,请参考以下文章

在winform的MDI窗体中,打开一个新的子窗体的同时如何关闭前一个子窗体?

winform学习

Winform 父窗体的灰色部分修改

winform 怎么让子窗体显示在主窗体上?

设计一个多文档界面(MDI)应用程序,可以实现打开排列和关闭子窗口。

C#学习笔记——MDI窗体(多文档界面)