隐藏控件而不留空 space
Hide a control without leaving empty space
我有一个主要基于 DevExpress Windows Forms 套件的 WinForms 项目。我正在开发如下所示的控件:
我使用术语 programme 来区分针对人的培训计划,program 表示计算机程序。在图像中有 3 ProgrammeGroup
个用户控件。每个都有一个 header,有 2 个组合,在其下方,一个 ProgrammeDetail
用户控件,带有程序详细信息。
当左上组合显示值为是或空白时,程序详细信息必须可见,否则不可见。当使 ProgrammeDetail
控件不可见时,我还将其 Height
设置为零,并且外部 ProgrammeGroup
控件在 auto-size 上缩小。
但是,如果我将中间 ProgrammeGroup
的 Yes/No 组合设置为 No,那
ProgrammeGroup
缩小,但在 header 只有中间控件和底部控件之间留下间隙。此间隙在下图中可见:
我如何布置我的 ProgrammeGroup
控件,以便如果一个控件的高度缩小,它下面的所有控件都会向上移动,这意味着没有空隙。我希望 DevExpress WinForms 套件中的许多不同面板之一可以帮助我做到这一点,但我很难找到一个。
此问题的解决方案是使用 FlowLayoutPanel
,它会自动将其中的控件彼此对齐。
调整子控件大小和位置的最佳方法是将它们放在 LayoutControl. This control is specially designed for such tasks. To hide unnecessary layout items/groups, use the BaseLayoutItem.Visibility 属性 上。
我还应该注意到 LayoutControl 是灵活的并且支持不同的模式,包括 Flow Layout Mode。
另请参阅:
我有一个主要基于 DevExpress Windows Forms 套件的 WinForms 项目。我正在开发如下所示的控件:
我使用术语 programme 来区分针对人的培训计划,program 表示计算机程序。在图像中有 3 ProgrammeGroup
个用户控件。每个都有一个 header,有 2 个组合,在其下方,一个 ProgrammeDetail
用户控件,带有程序详细信息。
当左上组合显示值为是或空白时,程序详细信息必须可见,否则不可见。当使 ProgrammeDetail
控件不可见时,我还将其 Height
设置为零,并且外部 ProgrammeGroup
控件在 auto-size 上缩小。
但是,如果我将中间 ProgrammeGroup
的 Yes/No 组合设置为 No,那
ProgrammeGroup
缩小,但在 header 只有中间控件和底部控件之间留下间隙。此间隙在下图中可见:
我如何布置我的 ProgrammeGroup
控件,以便如果一个控件的高度缩小,它下面的所有控件都会向上移动,这意味着没有空隙。我希望 DevExpress WinForms 套件中的许多不同面板之一可以帮助我做到这一点,但我很难找到一个。
此问题的解决方案是使用 FlowLayoutPanel
,它会自动将其中的控件彼此对齐。
调整子控件大小和位置的最佳方法是将它们放在 LayoutControl. This control is specially designed for such tasks. To hide unnecessary layout items/groups, use the BaseLayoutItem.Visibility 属性 上。
我还应该注意到 LayoutControl 是灵活的并且支持不同的模式,包括 Flow Layout Mode。
另请参阅: