1、MDI子窗口中如果有一个是最大化的,那么除了不可改变大小的窗口外其它都会最大化这个问题怎么解决呢,还有什么是不可改变大小的2、如何让打开的窗口居中显示呢

解决方案 »

  1.   

    第一个问题:
    private void ChildForm1_MaximumSizeChanged(object sender, EventArgs e)
    {
        Form[] fm = this.Owner.MdiChildren;
        foreach (Form f in fm)
        {
            if (!f.Modal)
                f.WindowState = FormWindowState.Maximized;
        }
    }
      

  2.   

    第二题    设置窗口第一次出现的位置  属性 StartPosition   设为CenterScreen
      

  3.   

    第二个问题:
    fm.StartPosition = FormStartPosition.CenterParent;//在父窗口居中
    fm.StartPosition = FormStartPosition.CenterScreen;//屏幕居中
      

  4.   

    Form2  frm = new Form2();
                    frm.MdiParent = this;
                    frm.WindowState = FormWindowState.Maximized;
                    frm.Show();Form3 frm = new Form3();
                frm.MdiParent = this;
                frm.WindowState = FormWindowState.Normal;
                frm.StartPosition = FormStartPosition.CenterParent;
                frm.Show();
      

  5.   

    第一个问题,改:
    private void ChildForm1_MaximumSizeChanged(object sender, EventArgs e)
    {
        Form[] fm = this.Owner.MdiChildren;
        foreach (Form f in fm)
        {
            if (f.FormBorderStyle == FormBorderStyle.Sizable ||f.FormBorderStyle == FormBorderStyle.SizableToolWindow)
                f.WindowState = FormWindowState.Maximized;
        }
    }