在winform中,当第一个子窗体最大化后,随后显示的子窗体也是最大化,虽然它最初的状态设置为normal,且不是sizable.请问如何控制第二个子窗体的显示方式.谢谢.

解决方案 »

  1.   

    将windowstate设置成normal,然后随便设置size大小不行吗?
      

  2.   

    public static void WinState(Form self,FormWindowState state)
    {
    self.MdiChildren[2].WindowState = state;
    }
      

  3.   

    如果不想让窗体的大小变化 可以将MAXSIZE 和MINSIZE都给出和SIZE大小一样不要是默认的0就可以了
      

  4.   

    一个子窗体最大化,另一个不是?你见过这样的MDI窗体么?
      

  5.   

    Again:>一个子窗体最大化,另一个不是?你见过这样的MDI窗体么?不过,你自已做个状态管理的逻辑还是可以实现的。
      

  6.   

    一个子窗体最大化,另一个不是。这样的实现可能比较困难,但是可以把所有的子窗体都转换成normal不就可以了吗?
      

  7.   

    改变WindowState就可以实现啊,代码如下:
        Form2 f = new Form2();
        f.MdiParent = this;
        f.Show();
        f.WindowState = FormWindowState.Normal;.Net Framework V1.1.4322 VS2003 WinXP 测试通过
    只是原来最大化的窗体也变回原样了。
      

  8.   

    在新窗体中重写Show()
    public void Show(Form SrcForm)
    {
    if(SourceForm.WindowState == FormWindowState.Normal)
    Bounds = SourceForm.Bounds;
    else
    this.WindowState = SourceForm.WindowState;

    this.Show();
    }
      

  9.   


    在新窗体中重写Show()
    public void Show(Form SrcForm)
    {
    if(SrcForm.WindowState == FormWindowState.Normal)
    Bounds = SrcForm.Bounds;
    else
    this.WindowState = SrcForm.WindowState;

    this.Show();
    }
      

  10.   

    原窗体调用新窗体
    frmNew fN = new frmNew();
    fN.Show(this);