문제

나는 다음과 같은 문자열이 있습니다.

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

다른 팁

Size textSize = TextRenderer.MeasureText("How long am I?", font);

이 경우 나는 보통 더럽지만 간단한 방법을 사용합니다.

  • 나는 보이지 않는 것을 추가합니다 Label 그게 AutoSize 속성은 true -더러운 작업-.
  • 내가 갖고 싶을 때 Width 특정 문자열의 경우 Label.Text.
  • 그만큼 WidthLabel 올바른 가치를 줄 것입니다.

글꼴에 따라 다릅니다. 문자열 길이는 충분하지 않습니다.

그래픽 객체의 인스턴스를 만들 수 있습니다. MeasureString() 방법. 그러나 글꼴 이름, 글꼴 크기 및 기타 정보를 전달해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top