我有一個這樣的字符串:如何將字符串長度轉換爲像素單位?
string s = "This is my string";
我創建一個Telerik的報告,我需要定義一個textbox
這是我的字符串的寬度。然而,尺寸屬性需要設置爲單位(像素,點,英寸等)。我怎樣才能把我的字符串長度轉換成像素,這樣我就可以設置寬度了?
編輯:我試圖獲得對圖形對象的引用,但是這是在繼承自Telerik.Reporting.Report
的類中完成的。
我有一個這樣的字符串:如何將字符串長度轉換爲像素單位?
string s = "This is my string";
我創建一個Telerik的報告,我需要定義一個textbox
這是我的字符串的寬度。然而,尺寸屬性需要設置爲單位(像素,點,英寸等)。我怎樣才能把我的字符串長度轉換成像素,這樣我就可以設置寬度了?
編輯:我試圖獲得對圖形對象的引用,但是這是在繼承自Telerik.Reporting.Report
的類中完成的。
,不使用控制或形式:
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
您可以使用MeasureString()
方法創建圖形對象的實例。但是你需要傳遞它的字體名稱,字體大小和其他信息。
我有字體名稱,大小等我已經看過MeasureString方法,但無法弄清楚如何創建一個圖形對象引用。我沒有形式或控制,我只是想在課堂上弄清楚這一點。 – ScottG 2009-01-16 20:44:00
也取決於字體。字符串長度不夠。
Size textSize = TextRenderer.MeasureText("How long am I?", font);
在這種情況下,我通常使用一個骯髒的,但簡單的方法:
Label
它的AutoSize
財產是true
- 骯髒的工作 - 。Width
時,我將它設置爲Label.Text
。Label
的Width
會給我正確的價值。
似乎我認爲MeasureString應該是一種靜態方法。 – Kibbee 2009-01-16 20:56:53
@Kibbee`MeasureString`需要一個`Graphics`,因爲它考慮到了當前的圖形轉換。 – 2012-05-14 10:25:51