【发布时间】:2015-07-27 20:44:29
【问题描述】:
目前,我正在使用 Windows 窗体中的拆分容器控件和一个按钮,该按钮在单击时隐藏/显示拆分容器的 panel1 或 panel2。 panel1 和 panel2 在主窗体上的高度不同。
问题在于,一旦面板被隐藏,包含拆分容器的主窗体不会自动调整大小。
拆分容器上是否有一个选项也可以调整父控件的高度?或者你们中的一些人知道一旦拆分容器的面板之一被隐藏或显示,如何处理表单的这种调整大小?
【问题讨论】:
-
这不是拆分容器的目的。拆分容器不会更改表单大小,而是允许您在两个面板之间共享表单大小。因此,如果其中一个面板不使用提供的空间,那么另一个面板将使用提供的所有空间。
-
所以还有一些其他容器可以在其内容被隐藏或显示后调整表单大小?
-
不是我见过的。你当然可以写一个。
-
当然有;设置容器的AutoSize 属性和Form 来扩大和缩小。
-
几个容器控件(Panel、FlowLayoutPanel ......)有一个 AutoSize 属性,当你编写它们的 Resize 事件以适应 Form.ClientSize 你得到了你想要的......:
if (formsize smaller than panelsize) Form.ClientSize = panel.Size;