我有一个很大程度上基于DevExpress Windows Forms套件的WinForms项目。我正在处理如下所示的控件:
我使用术语程序来区分针对人的培训程序,不同于程序,即计算机程序。在该图像中,有3个ProgrammeGroup
用户控件。每个标题都有一个标题,带有2个组合,在其下方是一个ProgrammeDetail
用户控件,其中包含程序详细信息。
当左上方的组合显示值为是或空白时,程序详细信息必须可见,否则不可见。使ProgrammeDetail
控件不可见时,我还将其Height
设置为零,并且外部ProgrammeGroup
控件在自动调整大小时缩小。
但是,如果我将中间ProgrammeGroup
上的“是/否”组合设置为否,
ProgrammeGroup
会缩小,但在标头(仅中间控件)和底部控件之间留有空隙。下图可见该间隙:
我该如何放置ProgrammeGroup
控件,以便如果一个控件的高度缩小,则其下方的所有控件都将向上移动,这意味着没有空白。我希望DevExpress WinForms套件中的许多不同面板之一可以帮助我做到这一点,但是我很沮丧地找到了一个面板。
答案 0 :(得分:1)
解决此问题的方法是使用FlowLayoutPanel
,它可以自动将其中的控件彼此对齐。
答案 1 :(得分:0)
调整子控件的大小和位置的最佳方法是将它们放置在LayoutControl上。该控件是专门为此类任务设计的。要隐藏不必要的布局项目/组,请使用BaseLayoutItem.Visibility属性。
我还应该注意LayoutControl是灵活的,并且支持包括Flow Layout Mode在内的不同模式。
另请参阅: