zoukankan      html  css  js  c++  java
  • MDI容器

    MDI容器
     具体步骤如下:  
    private void 销售ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                VisibledForm();
    
                Form2 f2 = new Form2();                                           打开新窗口
                f2.MdiParent = this;                                                   
                f2.Name = "f2";                                                          
                OpenForm(f2);                                                            
            }
    
            private void VisibledForm()                                  
            {
                foreach (Control c in panel1.Controls)
                {
                    if (c is Form)
                    {
                        c.Visible = false;
                    }
                }
            }
    
            private void 仓库ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                VisibledForm();                                         引用方法
                Form3 f3 = new Form3();
                f3.MdiParent = this;
                f3.Name = "f3";                                         
                OpenForm(f3);                                          
            }
    
            private void 财务ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                VisibledForm();                                          引用方法
                Form4 f4 = new Form4();
                f4.MdiParent = this;
                f4.Name = "f4";                                         
                OpenForm(f4);                                          
            }
    
            //传一个窗体对象过来,看看有没有打开,如果开打了,则还原已打开的窗口
            //如果未打开,则打开此新窗口
            //参数:要验证的窗体
            //返回值:无
    
            public void OpenForm(Form fff)                                         Form的参数fff,创建方法OpenForm
            {
                bool has = false;
                foreach (Control c in panel1.Controls)                            
                {
                    if (c is Form)                                                               如果这个控件是窗口
                    {
                        if (c.Name == fff.Name)                                        
                        {
                            has = true;                                                           如果走到这说明有
                            fff = c as Form;                                                    
                        }
                    }
                }
    
                VisibledForm();                                                               
                if (has)                                                                             然后进行判断
                {
                     //fff.WindowState = FormWindowState.Maximized;    按说应该进行还原窗口,但是,这里如果还原的话,这一步并不会走,所以不用这一步,而是直接Show出来
                    fff.Show();
                }
                else                                                                                  如果这个窗口没有打开,然后Show出来,也需要调取隐藏的方法,所以把这个方法写到外边
                {
                    fff.Parent = panel1;                                                      
                    fff.Show();
                }
    
            }
    
          
    
            private void Form1_Load(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.MdiParent = this;
                f2.Name = "f2";
                OpenForm(f2);
            }
  • 相关阅读:
    分西瓜(dfs)
    括号配对(栈)
    gcd表(欧几里得定理)
    整数性质(拓展欧几里得算法)
    欧几里得算法(求最大公约数)拓展欧几里得算法
    删除元素(二分查找)
    括号配对问题
    公司组织看电影(综合)
    取余数(%)
    幼儿园分苹果(/)
  • 原文地址:https://www.cnblogs.com/yunpeng521/p/7215946.html
Copyright © 2011-2022 走看看