前提:MDI父窗口默认为最大化显示,子窗口根据需要手动调整大小,
问题:看了好些资料,还是没解决掉子窗口内的控件随窗口大小变化而变化的问题,急死了,哪位DX能帮帮忙啊?(我用的是vs2010)

解决方案 »

  1.   

    子窗口内的控件随窗口大小变化而变化你是指位置相对变化还是大小也变化?如果是位置设置控件的Anchor属性大小就在窗体的Resize事件中重新设置,根据窗体改变的比例调整
      

  2.   

    在事件Form1_Resize中重新设置控件大小:
    private void Form1_Resize(object sender, System.EventArgs e)
    {
    groupBox2.Left=splitter1.Left+splitter1.Width;
    groupBox2.Width=this.Width-splitter1.Left -splitter1.Width -10;
     
    listView1.Left=groupBox2.Left;
    listView1.Width =groupBox2.Width; lblTot.Left=groupBox2.Left;
    tabControl1.Left =groupBox2.Left;
        tabControl1.Width  =groupBox2.Width ;
    tabControl1.Top=groupBox3.Top-tabControl1.Height ;
    lblTot.Top=tabControl1.Top -lblTot.Height;
    listView1.Height=this.Height-groupBox2.Height-lblTot.Height-tabControl1.Height-groupBox3.Height-40;
    cmdExit.Left=groupBox3.Width-cmdExit.Width-20;
    }
      

  3.   

    思路:
    在 主窗体 宽度改变方法中 便利 所有子窗体 ,增加相应的 宽度和高度
    比如 主窗体增加了 高度宽度, 所有子窗体 也增加相同数量,这样就行了但是 要记录 一下 变化前的 宽高 和 变化后的 宽高,相煎 之后 就是 要增加的值了事件:resizebegin
         resizeend