TableLayoutPanel コントロールは、内容をグリッド内に配置します。レイアウトはデザイン時と実行時の両方に行われるため、アプリケーション環境の変更に合わせて動的に変更できます。これにより、パネル内のコントロールは比例的にサイズを変更できるため、親コントロールのサイズ変更、ローカリゼーションによるテキスト長の変更などの変更に合わせることができます。
TableLayoutPanel のその他のインスタンスを含む Windows フォーム コントロールは、TableLayoutPanel コントロールの子になります。これにより、実行時の変更に合わせた高度なレイアウトを構築できます。
TableLayoutPanel コントロールは、RowCount、ColumnCount、および GrowStyle の各プロパティの値に応じて、新しいコントロールが追加されたときにこれらを収容するように拡張できます。RowCount プロパティまたは ColumnCount プロパティの値を 0 に設定すると、TableLayoutPanel が対応する方向で非バインドになることを指定します。
TableLayoutPanel コントロールが子コントロールでいっぱいになった後、拡張の方向 (水平または垂直) を制御することもできます。既定では、TableLayoutPanel コントロールは行の追加によって下方向に拡張します。
既定の動作と異なる動作をする行と列を使用する場合、RowStyles プロパティおよび ColumnStyles プロパティを使用して、行と列のプロパティを制御できます。行または列のプロパティを個別に設定できます。
TableLayoutPanel コントロールは、Cell、Column、Row、ColumnSpan、および RowSpan の各プロパティを子コントロールに追加します。
子コントロールで ColumnSpan プロパティまたは RowSpan プロパティを設定すると、TableLayoutPanel コントロールのセルをマージできます。
メモ : |
|---|
Cell、Column、Row、ColumnSpan、RowSpan の各プロパティを実行時に設定するには、SetCellPosition()()()、SetColumn()()()、SetRow()()()、SetColumnSpan()()()、SetRowSpan()()() の各メソッドを使用します。 Cell、Column、Row、ColumnSpan、RowSpan の各プロパティを実行時に読み取るには、GetCellPosition()()()、GetColumn()()()、GetRow()()()、GetColumnSpan()()()、GetRowSpan()()() の各メソッドを使用します。 |
子コントロールのドッキング動作は、その他のコンテナ コントロールと同じです。
TableLayoutPanel の子コントロールの固定動作は、他のコンテナ コントロールの動作とは異なります。子コントロールの Anchor プロパティの値が Left または Right に設定されている場合、コントロールは、セルの左境界線または右境界線に対して、コントロールの Margin プロパティとパネルの Padding プロパティを合計した位置に配置されます。Left 値と Right 値の両方が設定されている場合、コントロールのサイズは、Margin 値と Padding 値を考慮して、セルの幅に合わせて変更されます。Top と Bottom の固定に関する動作も同様です。詳細については、「方法 : TableLayoutPanel コントロールで子コントロールを固定およびドッキングする」を参照してください。
子コントロールで他のコンテナ コントロールの既定の固定動作を模倣する必要がある場合は、コントロールの境界線とセルの境界線の間の距離が一定になるように、Margin プロパティおよび Padding プロパティを調整できます。
子コントロールの Column プロパティと Row プロパティの値を -1 に設定すると、コントロールが TableLayoutPanel コントロール内の最初の空のセルに移動します。空のセルは、左から右、上から下の順に行われる検索で選択されます。この順序はカルチャに応じて異なるため、右から左 (RTL) のレイアウトで正しく動作します。
メモ : |
|---|
TableLayoutPanel コントロールのレイアウト計算に関係するのは、Visible プロパティが true に設定されているコントロールだけです。 |