私は2つの項目を保持するWinFormsパネルを持っています。ラベル。WinFormsのパネル内でラベルコントロールを異なる方法で調整する
ラベルを水平に並べる必要があります。ラベル1をパネルの中央に配置する必要があり、ラベル2をパネルの右側に配置する必要があるとします。整列はサイズ変更時に保持されなければなりません。
どのパネルを使用しますか?パネル? FlowLayoutPanel?他に何か? 上記の配置を達成するために、パネル/ラベルのプロパティをどのように設定する必要がありますか?
私は2つの項目を保持するWinFormsパネルを持っています。ラベル。WinFormsのパネル内でラベルコントロールを異なる方法で調整する
ラベルを水平に並べる必要があります。ラベル1をパネルの中央に配置する必要があり、ラベル2をパネルの右側に配置する必要があるとします。整列はサイズ変更時に保持されなければなりません。
どのパネルを使用しますか?パネル? FlowLayoutPanel?他に何か? 上記の配置を達成するために、パネル/ラベルのプロパティをどのように設定する必要がありますか?
TabelLayoutPanel
に2つの列を使用します。左のラベルアンカーを上と下に、ラベルのテキストの中心にラベルを設定します。 ラベル2のアンカーRight、Text Right Center。
TabelLayoutPanel
(フォーム上の唯一のコントロールの場合)を塗りつぶしするか、展開したい辺にアンカーを設定します。
ラベルの位置合わせは、親コンテナ内のアンカー位置とテキストの位置合わせで制御できます。
編集:ありがとうございますが、これは、Label1をTableLayoutPanelの列1の中心に揃え、TableLayoutPanel全体の中央に配置しません。 – Feri
リサイズ前に画像を共有し、リサイズ後に画像を共有する方が良いです。たぶん、Anchorを使ったいくつかのプロパティ設定です。多分、イベント処理コードが必要です。 –
ラベルは、パネルの助けを必要とせずに、単独でそれを行うことができます。 Anchorプロパティを使用します。 Top + Rightを使用して、右揃えにします。 Centerはもう少し作業です:AutoSize = False、TextAlign = TopCenter、ラベルを中央に置く、Anchor = Left + Top + Rightを使用します。 –
@ハンス・パッセンジャー:それは私が必要とするようにほぼ動作します。あなたの指示 "中央にラベルを置く"は、サイズ変更が幅を増やすことを意味する場合にのみ十分です。幅を狭くする作業の解決策は、ラベルの幅をラベルの幅を囲むパネルの端まで伸ばす(そしてラベル2の右側を伸ばす) "と置き換える必要があります。後者の場合、label2を隠すことを避けるためにzオーダーを気にする必要があります。 – Feri