winform 下,子窗体最大化时“最小化”,"最大化"和"还原"菜单自动合并到主菜单的menustrip 上?请问有没有方法避免这一点?

解决方案 »

  1.   

    动态修改窗体的大小
    或者把MDI窗体加载到Panel上,Panel放在主窗口里面
      

  2.   

    Panel.Dock   =   System.Windows.Forms.DockStyle.Fill;   
        
      System.Windows.Forms.Form   ChildForm   =   new   System.Windows.Forms.Form();   
      ChildForm   .TopLevel   =false;   
      ChildForm   .FormBorderStyle   =   FormBorderStyle.None;   
      ChildForm   .WindowState=   FormWindowState.Maximized;   
      Panel.Controls.Add   (ChildForm);   
      ChildForm.Show();  
    如果是这样的话,Panel.Controls.Add   (ChildForm);   是不是每一个子窗口都要add了?
      

  3.   

    子窗体.菜单.AllowMerge = false;
      

  4.   

    包解决问题~
    this.MainMenuStrip = this.menuStrip1; //this是MainForm
      

  5.   

    点击打开你窗口前,重定向所有的已打开子窗体使其最小化或是默认大小(只要不是最大化就OK)。
    下面是方法:
    private void intoAllForm()//重定向所有子窗体
            {
                foreach (Form obj in this.MdiChildren)
                {
                    obj.WindowState = FormWindowState.Minimized;
                    obj.Show();
                }
            }