在我的winform中,我有三个组框,基于选择 组合框中的项目第二组框(位于中心) 使用 groupbox.visible 属性隐藏。 问题是当第二个集合箱被隐藏时 似乎是隐藏组框区域中的空白区域, 我想将第三组框移动到第二组 组合框存在。我可以使用任何其他控件而不是组框吗?
答案 0 :(得分:2)
您可以手动将第三个组框的Location
和Size
属性设置为(我认为更好)将两个组框的Dock
属性设置为Top
,这样当您的第二个gb变得不可见,第三个应向上滚动以占据自由空间。
答案 1 :(得分:1)
你应该通过chaning你groupboxes
所处的控件来解决它。它们的位置不能设置为常量。另一种解决方案是在更改第二个groupbox
的可见性时更改第三个{{1}}的位置。
答案 2 :(得分:1)
FlowLayoutPanel
应该有效http://msdn.microsoft.com/en-us/library/system.windows.forms.flowlayoutpanel.aspx
答案 3 :(得分:1)
假设您只使用默认的VS控件,那么您有少量选项。
如果将这些组框放在流布局面板中,当您使其不可见时,布局面板会将其他控件移动到之前占用的空间中。
如果您停靠群组框,那么使其中一个不可见会导致其他人占用空间(如果停靠指示)。
如果您无法使用布局机制或控件,您唯一的选择是修改相邻控件的位置或大小以手动填充空间。
我非常建议尝试使用布局容器,或者在线找到一个处理定位的容器。使用潜在的大量“魔法”数字隐藏在表单中的位置代码绝对无法维护。