C# Winfrom MDI(多文档界面)

1、首先设置父级Form1界面,只需要将该界面的IsMdiContainer属性设置为true;

2、设置按钮的事件来打开子级的窗口Form2,Form3等等;

3、在From1内设置一个容器panel,范围为需要打开的子级界面的大小;

4、设置Form2、Form3的事件,以及唯一窗口等;

//Form2的点击事件
private void form2ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Name = "f2";
openwidow(f2);
}
//Form3的点击件
private void form3ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Name = "f3";
openwidow(f3);
}
//设置唯一窗口:
//新建一个formlist集合,供唯一窗口使用
List<Form> formlist = new List<Form>();
//新建一个public的方法
private void openwidow(Form f)
{
//定义一个Form fff变量
Form fff = null;
//定义一个bool类型的变量为false;
bool open = false;
//遍历这个集合
foreach (Form ff in listfrom)
{
//只要遍历到就隐藏
ff.Hide();
//如果遍历到f.name
if (ff.Name == f.Name)
{
open = true;
//把ff放到集合内
fff = ff;
}
}
//如果遍历到f.name,
if (open)
{
//关闭所有窗口
f.Close();
//重新打开这个串口
fff.Show();
}
//否则
else
{
//设置打开的窗口为Form1的子窗体;
f.MdiParent = this;
//设置子窗口的大小为最大化;
f.WindowState = FormWindowState.Maximized;
//把子窗口放到Form1的panel1里;
f.Parent = panel1;
//设置无边框
f.FormBorderStyle = FormBorderStyle.None;
//打开窗口
f.Show();
//把这个窗口放到集合内
fromlist.Add(f);
} }
上一篇:【内部竞聘】华东/华南 -区域招商高级经理/经理 - 荐才纳贤 - 京东内部论坛 - Powered by Discuz!


下一篇:Mac下搭建Eclipse Android开发环境