2

私は現在、WinForms コントロールのレイアウトを作成することに行き詰まっています:

私のユーザー コントロールは、次のサブコントロールをホストします。

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、ドッキング、および自動サイズ設定の多数の組み合わせを試しましたが、どれも私の期待を満たしていませんでした。

ドックトップとオートサイズ機能を使用して、上記に投稿した順序でコントロールを配置するにはどうすればよいですか?

4

1 に答える 1

4
  1. 4 行 1 列の外部 TableLayoutPanel を作成します。行に設定SizeType = AutoSizeします。
  2. RichTextBox を最初の行に配置します。
  3. コントロールが数えるほど多くの行と 2 つの列を持つ内部 TableLayoutPanel を作成します。SizeType = AutoSizeすべての行に設定します。AutoSize = true内側の TableLayoutPanel に設定します。次の行に配置します。
  4. ラベルを最初のセルに配置します。ラベルに設定ColumnSpan = 2します。
  5. コントロールを他の行の 2 列目に配置します。
  6. 他の内側BC
于 2012-07-23T17:53:23.113 に答える