60.C# MDI窗体

2024-03-28  本文已影响0人  技术老小子

摘要


在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。

MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。

多文档界面(Multiple-Document Interface)简称MDI窗体,主要用于同时显示多个文档,每个文档显示在各自的窗口中。MD窗体中通常有包含子菜单的窗口菜单,用于在窗口或文档之间进行切换。

正文


如果需要某窗体设置成父窗体,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。

再将子窗体的MdiParent指定父窗体就可以了。

创建两个窗体,一个FrmMain为父窗体,一个FrmChild为子窗体

父窗体代码

public FrmMain()
{
    InitializeComponent();
    this.IsMdiContainer = true;
}

private void btnLoadChild_Click(object sender, EventArgs e)
{
    FrmChild child = new FrmChild();
    child.MdiParent=this;
    child.Show();
}

image.png

增加一下关闭所有子窗体方法

private void btnCloseChild_Click(object sender, EventArgs e)
{
    foreach (var item in this.MdiChildren)
    {
        item.Close();
    }
}

image.png

子窗体排列

ArrangeIcons 3 所有 MDI 子图标均排列在 MDI 父窗体的工作区内。
Cascade 0 所有 MDI 子窗口均层叠在 MDI 父窗体的工作区内。
TileHorizontal 1 所有 MDI 子窗口均水平平铺在 MDI 父窗体的工作区内。
TileVertical 2 所有 MDI 子窗口均垂直平铺在 MDI 父窗体的工作区内。
private void btnSortChild_Click(object sender, EventArgs e)
{
    this.LayoutMdi(MdiLayout.Cascade);
}

image.png
上一篇 下一篇

猜你喜欢

热点阅读