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);
            }
  • 相关阅读:
    Linux常用命令
    Spring Boot☞ 多数据源配置(二):Spring-data-jpa
    好用的Markdown编辑器一览
    Spring Boot☞ 使用Spring-data-jpa简化数据访问层
    谈谈Spring 注入properties文件总结
    Spring Boot☞ 统一异常处理
    Spring Boot☞ 使用velocity渲染web视图
    Spring Boot☞ 使用freemarker模板引擎渲染web视图
    静态联编与动态联编
    C++ 模板元编程 学习笔记
  • 原文地址:https://www.cnblogs.com/yunpeng521/p/7215946.html
Copyright © 2011-2022 走看看