28

次のような文字列があります。

string s = "This is my string";

Telerik レポートを作成していますtextboxが、文字列の幅を定義する必要があります。ただし、サイズ プロパティを単位 (ピクセル、ポイント、インチなど) に設定する必要があります。幅を設定できるように、文字列の長さをピクセルなどに変換するにはどうすればよいですか?

編集: グラフィックス オブジェクトへの参照を取得しようとしましたが、これは から継承するクラスで行われTelerik.Reporting.Reportます。

4

5 に答える 5

69

コントロールまたはフォームを使用しない場合:

using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(new Bitmap(1, 1)))
{
    SizeF size = graphics.MeasureString("Hello there", new Font("Segoe UI", 11, FontStyle.Regular, GraphicsUnit.Point));
}

またはVB.Netで:

Using graphics As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(New Bitmap(1, 1))
    Dim size As SizeF = graphics.MeasureString("Hello there", New Font("Segoe UI", 11, FontStyle.Regular, GraphicsUnit.Point))
End Using
于 2009-01-16T20:54:17.207 に答える
25
Size textSize = TextRenderer.MeasureText("How long am I?", font);
于 2012-09-26T14:40:08.120 に答える
4

フォントにもよります。文字列の長さが十分ではありません。

于 2009-01-16T20:40:05.163 に答える
4

メソッドを使用して、グラフィックス オブジェクトのインスタンスを作成できますMeasureString()。ただし、フォント名、フォント サイズ、およびその他の情報を渡す必要があります。

于 2009-01-16T20:39:47.830 に答える