0

私のプロジェクトでは、実行時にラベルを作成する必要があります。これらは、データベースのフィールドに依存する異なる高さを持っています。ラベルにテキストを書き込む必要がありますが、ラベルの高さが小さい場合は、ラベルの高さに応じてフォントのサイズを変更する必要があります。

私はこれで試しました:

Label lbl = new Label();
lbl.AutoSize = false;
lbl.Font = new System.Drawing.Font(lbl.Font.FontFamily, Convert.ToSingle(lbl.Height / 2));
lbl.TextAlign = ContentAlignment.MiddleCenter;
4

2 に答える 2

1

FontHeightプロパティを使用して、フォントの高さを変更できます。これは仕事をすることができます。

MSDN:

コントロールのフォントの高さを取得または設定します。... FontHeightプロパティは、コントロールのFont.Height値、または-1以外の値に設定しないでください。FontHeightを-1に設定すると、キャッシュされた高さの値がクリアされ、次に値が再計算されます。プロパティが参照されます。

于 2013-01-14T08:41:51.120 に答える
0

Label.AutoSize を false に設定した場合は、ラベルの高さをプログラムで設定する必要があります。Label.Height はデフォルト値 (23 など) になるため、Label.Height を使用してフォントのサイズを決定することはできません。これは、データベースから読み取った高さに対応しません。

ラベルの高さを指定するために使用しているデータベースのフィールドは正確には何ですか? それは何単位ですか?投稿したコードでデータベースフィールドを使用していません...

于 2013-01-14T08:57:35.680 に答える