winform DMI应用程序,可打开、排列和关闭子窗口
实现功能如下:
①可打开多个子窗口
②关闭当前活动子窗口
③关闭应用程序
④排列已打开的子窗口
⑤关闭所有子窗口
操作如下:
⑥创建窗体5-6-1、5-6-2,其中5-6-2作为被打开的子窗体,所需控件:MenuStrip,Name属性值如下:
5-6-1代码如下:
//窗体的“Load”事件
private void _3_6_1_Load(object sender, EventArgs e)
{
//为当前窗体命名
this.Text = "父窗口";
//使当前窗体变为多文档窗体
this.IsMdiContainer = true;
}
//用于表示子窗体名子
int i = 1;
//菜单栏文件下的“打开”项的click事件
private void tsmOpen_Click(object sender, EventArgs e)
{
//子窗体实例化为f2
_3_6_2 f2 = new _3_6_2();
//f2的父窗体设置为当前窗体
f2.MdiParent = this;
//f2作为子窗体打开时为它命名
f2.Text = "子窗体" + i;
//打开子窗体f2
f2.Show();
i++;
}
//菜单栏文件下的“关闭”项的click事件
private void tsmClose_Click(object sender, EventArgs e)
{
//关闭父窗体的活动子窗体
this.ActiveMdiChild.Close();
}
//菜单栏文件下的“退出”项的click事件
private void tsmSecede_Click(object sender, EventArgs e)
{
//关闭父窗体(包括其下面已打开的子窗体)
this.Close();
}
//菜单栏窗体下的“布局”菜单下的“排列图标”项的click事件
private void tsmArrangeIcons_Click(object sender, EventArgs e)
{
//子窗体布局设置为“排列图标”
this.LayoutMdi(MdiLayout.ArrangeIcons);
}
//菜单栏窗体下的“布局”菜单下的“层叠”项的click事件
private void tsmCascade_Click(object sender, EventArgs e)
{
//子窗体布局设置为“层叠”
this.LayoutMdi(MdiLayout.Cascade);
}
//菜单栏窗体下的“布局”菜单下的“水平平铺”项的click事件
private void tsmTileHorizontal_Click(object sender, EventArgs e)
{
//子窗体布局设置为“水平平铺”
this.LayoutMdi(MdiLayout.TileHorizontal);
}
//菜单栏窗体下的“布局”菜单下的“垂直平铺”项的click事件
private void tsmVertical_Click(object sender, EventArgs e)
{
//子窗体布局设置为“垂直平铺”
this.LayoutMdi(MdiLayout.TileVertical);
}
//菜单栏窗体下的“关闭所有文档”项的click事件
private void tsmCloseAll_Click(object sender, EventArgs e)
{
//用f遍历当前窗体的所有子窗体,并将其关闭
foreach (Form f in this.MdiChildren)
f.Close();
}
如有转载请注明来源: www.dreamload.cn/blog/?p=356&preview=true (洋葱先生)