当子表单在代码中调整大小时,如何自动调整父表单?

时间:2015-02-13 22:19:01

标签: winforms

当我在代码中调整子表单的大小时,如何让父表单自动调整大小以包装子表单?我为父表单设置了autosize属性为true。我在尺寸改变后调用了this.MdiParent.PerformLayout()。我不想手动调整父表单的大小。

1 个答案:

答案 0 :(得分:0)

MDI Parent的Control集合中有一个名为MdiClient的隐藏控件。您可以使用它来帮助确定任何停靠的Panel或ToolStrips占用的空间,然后相应地调整父窗体的客户区域:

MdiClient mc = this.Controls.OfType<MdiClient>().First();
int otherHeight = this.ClientSize.Height - mc.ClientSize.Height;
this.ClientSize = new Size(this.ClientSize.Width,
                           this.ActiveMdiChild.Height + otherHeight);