子窗口的背景图是加载程序自动读入的
我在MDI容器窗口里
this.size = child.size
获得是子窗口原始的大小,不是读入背景图扩展后的大小
在子容器中有如下代码
Image img = Image.FromFile("pic.JPG");
this.Size = new Size(img.Width, img.Height);
this.BackgroundImage = img;
子窗口的大小可正常随背景图改变。ChildMonitor cMon = new ChildMonitor(this);
cMon.Show();
this.size = child.size在父窗口如上方式初始化,得不到预期结果

解决方案 »

  1.   

    我的子窗口style是NONE 是不是跟这个有关系呢?
      

  2.   

    Form2 f = new Form2();
                f.MdiParent = this;
                f.FormBorderStyle = FormBorderStyle.None;
                f.Show();
                this.Size = f.Size;
    private void Form2_Load(object sender, EventArgs e)
            {
                Image img = Image.FromFile("pic.JPG");
                this.Size = new Size(img.Width, img.Height);
                this.BackgroundImage = img; 
            }这是我的代码
    你可以建一个demo试试,就知道是不是你有什么代码导致的了
      

  3.   

    子窗口设置大小的代码在哪里?如果在构造函数里,父窗口就无法读到原始size。放到Form2_Load里才行。this.Size = f.Size;//父窗口必须在子窗口执行Form2_Load之前读取子窗口的原始size。所以这句要放到f.Show();之前。