1

フォームにパネルがあり、パネルの AutoScroll プロパティが True に設定されています。

そのパネルにいくつかの GroupBox コントロールを配置しました。これらは、パネルよりも多くのスペースを占有します。したがって、パネルには垂直スクロール バーが表示されます。

パネルの 1 つは、必要に応じて実行時に高さを変更できます (含まれるテキストの量に基づいて、プログラムで高さを設定します)。

groupBox1.Height = label1.Height + label1.Top + 10;

これは、パネルの高さが増した場合 (その下の GroupBoxes が「下に移動」した場合) は正常に機能します。ただし、パネルの高さが減少しても、下の GroupBox は「上に移動」しません。

下にあるグループボックスコントロールをプログラムで上に移動できることは知っていますが、それよりも優れた/手間がかからない方法が必要だと考えています...

4

2 に答える 2

1

ドッキング プロパティを Top に設定します。次に、子の Z オーダーを変更して、表示順序を指定します。

GroupBox1.Dock = DockStyle.Top;
GroupBox2.Dock = DockStyle.Top;
GroupBox3.Dock = DockStyle.Top;

groupbox1 が拡大または縮小すると、他の 2 つのパネルが移動して対応します。

于 2012-10-04T21:09:07.140 に答える
1

を代わりにPanelaに置き換えると、これが自動になります。FlowLayoutPanel

(FL-Panel のラッピングをオフにしたい場合があります)

于 2012-10-04T20:57:14.407 に答える