TableLayoutPanel コントロールの推奨される手順Best Practices for the TableLayoutPanel Control

TableLayoutPanelコントロールは、Windows フォームで使用する前に慎重に考慮すべき強力なレイアウト機能を提供します。The TableLayoutPanel control provides powerful layout features that you should consider carefully before using on your Windows Forms.


次の推奨事項では、使用するのに役立つ、TableLayoutPanel最大限に活用するコントロール。The following recommendations will help you use the TableLayoutPanel control to its best advantage.

対象の使用Targeted Use

使用して、TableLayoutPanel慎重に制御します。Use the TableLayoutPanel control sparingly. サイズ変更可能なレイアウトを必要とするすべての状況で使用する必要がありますできません。You should not use it in all situations that require a resizable layout. 次の一覧の使用を最大限に活用できるレイアウトの説明、TableLayoutPanelコントロール。The following list describes layouts that benefit most from the use of the TableLayoutPanel control:

  • レイアウトでは、相互に比例してサイズが変更されるフォームの複数の部分があります。Layouts in which there are multiple parts of the form that resize proportionally to each other.

  • 変更または追加または削除されるユーザーにカスタマイズ可能なフィールドがデータ エントリ フォームなどの実行時に動的に生成されるレイアウトは、基本設定に基づいています。Layouts that will be modified or generated dynamically at run time, such as data entry forms that have user-customizable fields added or subtracted based on preferences.

  • 全体の固定サイズのままにレイアウトします。Layouts that should remain at an overall fixed size. たとえば、ダイアログ ボックスが 800 x 600 未満にしておく必要がありますが、ローカライズされた文字列をサポートする必要があります。For example, you may have a dialog box that should remain smaller than 800 x 600, but you need to support localized strings.

次に示しますを大幅に利用しないレイアウト、TableLayoutPanelコントロール。The following list describes layouts that do not benefit greatly from using the TableLayoutPanel control:

  • 1 つの列のラベルとテキスト入力領域の 1 つの列のエントリのフォームが単純なデータ。Simple data entry forms with a single column of labels and a single column of text-entry areas.

  • 1 つの大きなフォームには、サイズ変更が発生したときに使用可能なすべての領域の塗りつぶし領域が表示されます。Forms with a single large display area that should fill all the available space when a resize occurs. この例は、1 つを表示するフォームPropertyGridコントロール。An example of this is a form that displays a single PropertyGrid control. この場合、アンカー、ために使用、フォームのサイズが変更されたときに他に何も展開する必要があります。In this case, use anchoring, because nothing else should expand when the form is resized.

どのコントロールでは、必要がありますは慎重に選択、TableLayoutPanelコントロール。Choose carefully which controls need to be in a TableLayoutPanel control. 増加 30% がアンカーを使用して、文字列がある場合は、使用を検討して、Anchorプロパティのみです。If you have room for your text to grow by 30% using anchoring, consider using the Anchor property only. 場合は、レイアウトが必要な容量を見積もるを使用してDockAnchorが残りの領域の詳細を見積もるよりも簡単とAutoSize動作します。If you can estimate the space required by your layout, use of Dock and Anchor is easier than estimating the details of remaining space and AutoSize behavior.

一般を使用してレイアウトを設計するときに、TableLayoutPanelコントロールを設計をできるだけシンプルに保ちます。In general, when designing your layout with the TableLayoutPanel control, keep the design as simple as possible.

ドキュメント アウトライン ウィンドウを使用します。Use the Document Outline Window

ドキュメント アウトライン ウィンドウでは、ツリー ビュー、レイアウト、コントロールの z オーダーと親子のリレーションシップの操作に使用することができます。The Document Outline window gives you a tree view of your layout, which you can use to manipulate the z-order and parent-child relationships of your controls. ビュー メニューを選択しますその他の Windowsを選択し、ドキュメント アウトラインします。From the View menu, select Other Windows, then select Document Outline.

入れ子を回避します。Avoid Nesting

その他の入れ子を避けるTableLayoutPanel内で制御をTableLayoutPanelコントロール。Avoid nesting other TableLayoutPanel controls within a TableLayoutPanel control. 入れ子になったレイアウトのデバッグは困難なことができます。Debugging nested layouts can be difficult.

ビジュアル継承を回避します。Avoid Visual Inheritance

TableLayoutPanelコントロールが Visual Studio での Windows フォーム デザイナーでビジュアルの継承をサポートしていません。The TableLayoutPanel control does not support visual inheritance in the Windows Forms Designer in Visual Studio. ATableLayoutPanelデザイン時に、「ロック」として、派生クラスでのコントロールが表示されます。A TableLayoutPanel control in a derived class appears as "locked" at design time.

関連項目See also