首页 > Windows开发 > 详细

C# Winfrom MDI(多文档界面)

时间:2017-11-28 00:44:48      阅读:287      评论:0      收藏:0      [点我收藏+]

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);
            }

        }

 

C# Winfrom MDI(多文档界面)

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!