MDI子窗体最大化时在主窗体的右上角有3个图标(最小化,最大化,关闭),当我在MDI主窗体中添加菜单栏时,就会发现MDI的窗体的那3个图标在菜单栏上面,非常影响美感,我见过大家都是吧这个3个图标做在菜单栏上的,请问是怎么做的?

解决方案 »

  1.   

    往你的MDI主窗体上添加一个MenuStrip控件,然后按照你的菜单设计配置该控件,就得到了菜单栏。然后设置主窗体WindowState属性,可以达到实现最大化/最小化/正常等三种情况:this.WindowState = FormWindowState.Minimized;  // 最小化
    this.WindowState = FormWindowState.Maximized;  // 最大化
    this.WindowState = FormWindowState.Normal;     // 正常
      

  2.   

    初始化子窗体的WindowState为最大化
      

  3.   

    this.WindowState = FormWindowState.Minimized;
      

  4.   

    好像大家没理解我的意思,我是想吧MDI子窗体的那3个图标(最小化,最大化,关闭)合并到,MDI主窗体上,就是主窗体的菜单栏的右边。我现在的状况是主窗体菜单栏一行,那3个图标一行。怎么做额,,,
      

  5.   

     
    另稍微补充下,MDI 这类窗体,父窗体都是作为框架 使用的, 而子窗体 ,也大多是模块的 管理窗体。如果功能简单 那么另说了。一般不在子窗体 做菜单, 菜单都是 父窗体 建立的,自动就继承到子窗体里面了,如果你觉得哪个菜单不想在某个子窗体上现实,就做判断,visable = false 掉就可以了所以你的问题 其实出现在 菜单 要在父窗体开发,不要在子窗体开发,父窗体 是一个 菜单, 工具条的全集合。下此要注意
      

  6.   

    样式参照word2003:在右上角大叉下面有个小叉,小叉在主窗体的菜单栏上
      

  7.   


    我刚才做了一个简易的MDI,应该没有特别设置啊,大致步骤如下:
    1.创建两个Form,Form1是主,Form2是子。
    2.主Form1的IsMdiContainer属性设置为True。子Form2采用缺省的False。
    3.主Form1上添加对应的MenuStrip控件,作为菜单栏,并且编辑需要的菜单。
    4.在该MenuStrip上随便找一个添加了的菜单项,双击,编辑该项的“Click”事件,大致代码如下:        private void toolStripMenuItem3_Click(object sender, EventArgs e)
            {
                Form2 form2 = new Form2();
                form2.MdiParent = this;
                form2.Show();
            }大致就是这样的效果呀,请lz确认一下。
      

  8.   

    lz你现在的效果是怎样的?是子窗体最大化时会把主窗体挡住么?如果是这样的话,就添加上面的这行代码就可以了:form2.MdiParent = this;  // this是form1
      

  9.   


    这个只有看具体代码才能知道了,如果本来就设定了“form2.MdiParent = this;  // this是form1
    ”这一行的话,应该没什么问题的,难道是编译时有什么状况?呵呵。