做了个MDI窗口,里面打开若干子窗口,子窗口打开时都自动最大化,现在又增加了一个子窗口A,要求打开A时不最大化。问题是只要先打开了其他子窗口(自动最大化),再打开A窗口,A窗口就会自动最大化。请问怎样做到子窗口A在打开时不被最大化?

解决方案 »

  1.   

    frm.WindowState=System.Windows.Forms.FormWindowState.Normal;
      

  2.   

    我试了,也就是会出现你的那种情况
    问题的原因是这样的:你用了MDI窗口,也就是将窗体也关联了起来,当窗体大小改变时其它的窗体也会跟着自动改变
    我也试图来解决了一下,但是都不是很理想
    当打开一个子窗体将其最大化后,我将其A窗体在一加载时写了这么一句话,
    this.WindowState = FormWindowState.Normal;
    可是这样的结果是原先打开的最大化子窗体也还原成了默认大小的窗体如果你真的想这样做的话,也许只有将其窗体之间的MDI关系给去掉,用一般的窗体跳转来解决
      

  3.   

    mjjzg辛苦你了,我现在只好把这个窗口不做成子窗口,将就着用了
      

  4.   

            private void ProgramForm_Load(object sender, EventArgs e)
            {
                this.MaximizeBox = false;//不显示最大化按钮
                this.MinimizeBox = false;//不显示最小化按钮
                this.FormBorderStyle = FormBorderStyle.FixedDialog;//固定的对话框样式的粗边框
                
            }