如何使用顶部浮动控件创建布局并自动调整大小?

时间:2012-07-23 17:40:18

标签: c# winforms layout user-controls controls

我目前只是在为WinForms控件创建一个布局:

我的usercontrol托管以下子控件:

RichTextBox
Label B
  Control B
  Control B
  Control B
Label C
  Control C
  Control C
Label D
  Control D
  Control D

RichTextBox始终可见。它的高度应该增长到显示没有ScrollBars的所有文本所需的大小。

根据我的数据对象,我想显示几个附加信息(如果存在)。例如,可以有5个控件B,0 C和20 D. 我希望控件“浮动”到顶部。每个控件都应该能够在高度上增长,以显示它的全部内容。

我尝试了很多TableLayoutPanels,FlowLayoutPanels,停靠和自动调整设置的组合,但没有一个能达到我的期望。

如何按我上面发布的顺序排列我的控件,并使用停靠顶部和自动调整功能?

1 个答案:

答案 0 :(得分:4)

  1. 创建包含4行1列的外部TableLayoutPanel。为行设置SizeType = AutoSize
  2. 将RichTextBox放入第一行。
  3. 创建内部TableLayoutPanel,其中包含许多行,控件数量和2列。为所有行设置SizeType = AutoSize。为内部TableLayoutPanel设置AutoSize = true。将它放在下一行。
  4. 将标签放置到第一个单元格。为标签设置ColumnSpan = 2
  5. 将控件放入其他行的第二列。
  6. 对其他内部BC
  7. 重复3-5