c# - 如何创建具有顶部 float 控件和自动调整大小的布局?

标签 c# winforms layout user-controls controls

我目前正致力于为 WinForms 控件创建布局:

我的用户控件托管以下子控件:

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

RichTextBox 始终可见。它的高度应该增长到需要显示所有文本而无需滚动条的高度。

根据我的数据对象,我想显示一些附加信息(如果存在)。例如,可以有 5 个控件 B、0 个 C 和 20 个 D。
我希望控件“ float ”到顶部。每个控件都应该能够增加高度,以便显示其完整内容。

我尝试了 TableLayoutPanels、FlowLayoutPanels、停靠和自动调整大小设置的多种组合,但没有一个能满足我的期望。

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

最佳答案

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

关于c# - 如何创建具有顶部 float 控件和自动调整大小的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617611/

相关文章:

css - 为什么不将默认位置设置为相对位置?

c# - 在 azure-pipelines.yml 中为 dotnetpublish 命令转义空格

c# - 错误 :-(Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

c# - 如何访问命名空间中的函数

c# - 如何强制对 xml 文件进行配置转换?

winforms - DevExpress 中的 BarButtonItem 和 RibbonBarManager 点击事件

c# - 通过大量控件提高 Winforms 性能

winforms - C# TextBox Autocomplete (Winforms) 关键事件和自定义?

java - 使用android中的添加按钮动态地将editTexts添加到布局

html - 标题+内容在不滚动的情况下达到 100% 高度的最佳解决方案是什么