窗体容器MDI

什么是窗体容器MDI

效果和容器TabelControl差不多,区别就是一个是用来存放控件,一个来存放Form窗体

MDI应用

(1)如何把一个窗体变成MDI窗体

选中窗体,在窗口样式属性中,有一个属性样式叫做IsMdiContainer,选中True就把该窗体变成了一个MDI窗体

(2)把窗体放进去

 //设置只能打开唯一集合,用来存放记录打开的Form
        List<Form> AllForm = new List<Form>();
        private void 打开111ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //定义要打开的Form2是不存在的
            bool hasf2 = false;
            //实例化要打开的Form2
            Form2 f2 = new Form2();
            //遍历集合,看是否存在Form2
            foreach (Form f in AllForm)
            {
                //如果存在From2类型的窗体
                if (f is Form2)
                {
                    //证明Form2已经打开了
                    hasf2 = true;
                    //把f转换成f2
                    f2 = f as Form2;
                }
            }
            //如果不存在Form2
            if (!hasf2)
            {
                //打开的时候最大化
                f2.WindowState = FormWindowState.Maximized;
                //设置f2的所在的MDI窗体是Form1
                f2.MdiParent = this;
                //设置f2所在的父级,避免在菜单栏中存在关闭按钮
                f2.Parent = panel1;
                //打开Form2
                f2.Show();
                //把f2添加到集合中
                AllForm.Add(f2);
            }
            //如果存在Form2
            else
            {
                //遍历集合,把所有Form都隐藏
                foreach (Form ff in AllForm)
                {
                    ff.Hide();
                }
                //只打开f2
                f2.Show();
            }
        }

这里有注意事项:

(1)Form2 要设置属性为无边框,这样就不会存在关闭按钮了.

(2)用MDI制作安装程序步骤的时候,先让MDI打开自身的一个Panel1,上面放一个Button,点击按钮后,Button隐藏,然后在打开MDI内的其它窗体,避免闪屏情况出现.

时间: 2024-10-02 11:56:21

窗体容器MDI的相关文章

Winform MDI窗体容器、权限、简单通讯

MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object

winform(MDI窗体容器、权限设置)

一.MDI窗体容器: 1.功能: 它可以让其它窗体在它的内部打开,无法超出它的范围 将某个窗体的属性:IsMdiContainer设置为true - 窗口样式 2.问题: (1)如何将其它窗体在它的内部打开? 窗体对象名.MdiParent = this; (2)窗体打开时最大化属性不好用,怎么办? 在实例化窗体对象,show之前,用代码设置最大化属性 注意:窗体的WindowState属性必须为默认值Normal (3)内部窗体最大时右上角总是显示最大最小关闭按钮,如何去掉? 在MDI窗体里放

MDI窗体容器--2016年12月15日

MDI窗体容器 多文档界面(Multiple-Document Interface)简称MDI窗体.MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中.MDI窗体中通常有包含子菜单的窗口菜单,用于在窗口或文档之间进行切换. (1)首先要设定主窗体是一个MDI窗体的容器,因为只有如此才能够在此主窗体上面添加MDI窗体,从而实现对MDI编程,具体实现语句如下: 1 this.IsMdiContainer = true ; (2)在主窗体上面新建一个MDI窗体.在程序中,新建一个MDI窗体的命

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次) - pageSetupDialog 打印设置对话框 - printPreviewDialog 打印预览对话框 - printPreviewControl  打印预览控件. 只需要把预览对象给他设置上就好 - printDialog  打印对话框 打印界面里面是否禁用页面范围.打印到文件等从Pri

MDI窗体容器

MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object

Winform MDI窗体容器 权限 简单通讯

MDI窗体容器 权限  using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WindowsFormsApplication1.App_Code; namespace Win

C#-WinForm-MDI窗体容器、权限设置

MDI窗体容器 - 放窗体的容器 窗体时顶级控件,是不允许放到其他的控件或窗体中的 (李献策lxc) 窗体属性中有一个属性:IsMdiContainer - 确定该窗体是否是MDI容器 在窗体中放一个顶部菜单 点击<销售>按钮会在窗体中弹出一个新的窗体 //销售 private void 销售ToolStripMenuItem_Click(object sender, EventArgs e) { Form5 f5 = new Form5(); f5.MdiParent = this; f5.

窗体容器

public void showform(Form f) { int count = 0;//用来记录是否有打开的窗体 foreach(Form ff in this.MdiChildren)//遍历容器中已经打开的窗体 { if (f.Name == ff.Name)//如果重名,说明已经存在 { ff.Focus();//将已经打开的窗体聚焦 count++;//计数 } } if (count == 0)//如果没有打开的同名窗体,第一次点击窗体时,已经打开的子窗体为空,count=0 {

winform 之MDI容器

MDI是指将多控件窗体在同一窗体中打开 1.设置:属性中IsMDIContainer:true; 窗体变为灰色成为MDI窗体容器 2.MDI中一般采用菜单作为打开方式 3.子级窗体在MDI中打开,需先设置位于MDI窗体中 例: Form2 f2 = new Form2(); f2.MdiParent = this; f2.Show(); 4.窗口打开最大化 对象.WindowState=FormwindowState.Maximized 5.父级Panel容器中打开,为隐藏窗口还原按钮 对象.P