TableLayoutPanelのコントロールのテキストコンテンツを適切に配置する方法はありますか?列0にラベルがあり、列1にテキストボックス(または場合によってはComboBoxまたはNumericUpDownコントロール)がありますが、ラベルのテキストは通常、ほとんどの行で1〜2ピクセル(垂直方向)になっています。
6 に答える
テーブル レイアウト パネルですべてのコントロールを選択します。プロパティ タブで、アンカーが「左」に設定されていることを確認します。デフォルトは「上、左」だと思います。
物事をまっすぐにすることを願っています。
私は数日前にそれに取り組みました。必要に応じてすべてを手に入れました。これを試して:
ラベル用
- Tablelayoutpanelからラベルを切り離します
- ドックスタイルを上に設定
- アンカーポイントを設定しない
TextAlign = MiddleLeft
- 次に、それをテーブルレイアウト列に配置します
- ラベルの背景色がある場合は、行スタイルの高さがラベルの高さと一致することを確認してください。
テキストボックスの場合
- Tablelayoutpanelからテキストボックスを切り離します
- dockstyleをnoneに設定します
- アンカーポイントを設定しない
TextAlign = MiddleLeft
(または必要に応じて)- 次に、それをテーブルレイアウト列に配置します
次のプロパティを設定できます:
ラベル
1. Autosize= false;
2.TextAlign= MiddleLeft;
コンボボックス、テキストボックスなどのコントロール用
ビューに移動 -> ツールバー -> レイアウト
一度に複数のコントロールを選択することにより、ツールバーで非常に簡単にコントロールのレイアウトを指定できるようになりました........
アンカーはそのままにして、高すぎるコントロールに上部マージンを追加することをお勧めします。ラベルを追加するとき、3,6,3,0のマージンは私にとって通常です。Javedが言ったように、コントロールをクリックすることで複数のコントロールを選択できます。ComboBoxがTexboxより1ピクセル大きいことにイライラします。しかし、それについては多くを行うことはできません。
私が通常行うことは、それらをパネルなどのコンテナに入れ、それに対して相対的に固定することです。コンテナーを追加する利点は、Winハンドラーの数を減らすこともできることです。その場合、それは問題ではありません。すでにTablelayoutPanelを持っているので、基本的にすべてのコントロールに対して、ハンドラーは1つだけです。
ああ、ラベルのテキスト ベースラインが他のコントロールとは異なるということですか? その場合は、垂直アンカーを削除してみてください。マージンで遊ぶこともできます。