2011-02-24 10 views
2

私は、全体の領域を占め、ドックを埋めるTableLayoutPanelを持っています。私は3 x 3テーブル/グリッドを作成しました。私は中間のセルの高さと幅を設定し、それ以外はすべて自動サイズにします。この方法では、中央のセルのコンテンツがコンテナの中央にあります。C#Winformsの中心コンテンツ

私はこれを間違った方法で行っているようです。コンテナ(パネル)にコンテンツを配置する最も良い方法は何ですか?

答えて

2

アブソリュート、50%の残りの部分に中央の行と列を設定:ここ

enter image description here

手動テーブルを設定するためのいくつかのコードです。

0

このお試しください:TableLayoutPanelの右上に

を、矢印があります。クリックして、「行と列の編集...」に進みます。中央の行と中央の列の寸法をパーセンテージまたは絶対ピクセルで指定します。

5

Percentモードの最初と最後の列だけでなく、中央の列と行をAutosizeと設定します。

これにより、中央のセルが常に中央になり、コンテンツのサイズに適応します。 、デザイナを使用して

tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50.0f)); 
tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize)); 
tableLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50.0f)); 
tableLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f)); 
tableLayout.RowStyles.Add(new RowStyle(SizeType.AutoSize)); 
tableLayout.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f)); 
0

コンテンツを親コンテナの中央に置き、すべてのアンカー(デフォルトの上端と左端)をオフにするだけです。本質的に今中心に置くべきです。

0

コントロールを中央に配置する必要がある場合は、TableLayoutPanelを使用する必要はありません。パネルにコントロールを追加し、デザイナーで手動で中心に置き、すべてのアンカーを削除します。
すでに類似のスレッドがあります。Centering controls within a form in .NET (Winforms)?

関連する問題