隐藏组框并删除winform中存在的空间

时间:2011-09-22 07:59:44

标签: c# .net winforms

在我的winform中,我有三个组框,基于选择 组合框中的项目第二组框(位于中心) 使用 groupbox.visible 属性隐藏。 问题是当第二个集合箱被隐藏时 似乎是隐藏组框区域中的空白区域, 我想将第三组框移动到第二组 组合框存在。我可以使用任何其他控件而不是组框吗?

4 个答案:

答案 0 :(得分:2)

您可以手动将第三个组框的LocationSize属性设置为(我认为更好)将两个组框的Dock属性设置为Top,这样当您的第二个gb变得不可见,第三个应向上滚动以占据自由空间。

答案 1 :(得分:1)

你应该通过chaning你groupboxes所处的控件来解决它。它们的位置不能设置为常量。另一种解决方案是在更改第二个groupbox的可见性时更改第三个{{1}}的位置。

答案 2 :(得分:1)

答案 3 :(得分:1)

假设您只使用默认的VS控件,那么您有少量选项。

如果将这些组框放在流布局面板中,当您使其不可见时,布局面板会将其他控件移动到之前占用的空间中。

如果您停靠群组框,那么使其中一个不可见会导致其他人占用空间(如果停靠指示)。

如果您无法使用布局机制或控件,您唯一的选择是修改相邻控件的位置或大小以手动填充空间。

我非常建议尝试使用布局容器,或者在线找到一个处理定位的容器。使用潜在的大量“魔法”数字隐藏在表单中的位置代码绝对无法维护。