C# Winfrom MDI(多文档界面)

2021-04-26 00:25

阅读:640

标签:rom   bool   lis   panel   null   最大   max   als   span   

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
formlist = new List
(); //新建一个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); } }

 

C# Winfrom MDI(多文档界面)

标签:rom   bool   lis   panel   null   最大   max   als   span   

原文地址:http://www.cnblogs.com/xinchenhui/p/7906457.html


评论


亲,登录后才可以留言!