anchoring/docking 时的控件大小有问题

Size of controls when anchoring/docking is problematic

我在锚定和调整表单内容时遇到一些问题。

这(上图)是当用户关注 groupbox1 时控件在第一个实例中的样子。都好。注意 groupbox2 锚定在所有 4 个边上。

现在,当用户的焦点转移到 groupbox2 时,会发生一些事情(上图)。 Groupbox2.Top 然后被设置在 groupbox1 的正下方。首先 groupbox1 缩小了一点,只显示最重要的信息。这里的问题(我认为)是,一旦 groupbox1 收缩并且 groupbox2 动态向上移动,它不会调整大小以仍然填充控件的下半部分,而是在 groupbox2 下方留下一个愚蠢的 space。调整窗体大小时,Groupbox2 仍会正确增长,因为它已锚定在所有 4 个边上。然而,问题是 groupbox2.

下面那个愚蠢的小未使用 space

这(上图)是我想要发生的。当焦点在 groupbox2 上时,它应该填充 groupbox1 下方的所有剩余 space。

Dock.Bottom 并没有真正做到这一点,Dock.Fill 覆盖了 groupbox1(它不应该)。我可以通过动态设置 topheight 属性来做到这一点,但已经多次警告不要在代码中使用 height/width。

还有其他解决方案吗?

尝试将它们都添加到 Panel,
使 groupBox1 Dock.Top, groupBox2 Dock.Fill
以及 Panel Dock.Fill(或者锚定在所有边上,如果表单上还有其他控件)。
如果一个 GroupBox 覆盖了另一个,则表示它们的顺序错误。要更改它,select 其中之一,然后 'Send to Back' 或 'Bring to Front'。
将不再需要设置 groupBox2 的顶部。它应该自动填充 groupBox1 下的 space。