次のように TextRenderer.MeasureText を呼び出します。
TextRenderer.MeasureText(myControl.Text, myControl.Font);
結果をコントロールのサイズと比較して、テキストが収まるかどうかを確認します。結果が正しくない場合があります。次の 2 つの問題が確認されました。
- 多くの場合、Label が AutoSize に設定されている場合、TextRenderer は Control の自動サイズ調整された幅よりも 1 ピクセル広い幅を報告します。
- TextRenderer がコントロールの幅よりも小さい幅を報告しているが、テキストがまだ途切れている場合の偽陰性。これは "Estación de trabajo" で発生しました -- アクセントが幅の計算に何らかの影響を与える可能性があるかどうかわかりませんか?
MeasureText メソッドの精度を向上させる方法はありますか? デバイス コンテキストやフォーマット フラグを受け入れるオーバーライドの 1 つを呼び出す必要がありますか?