代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Meyer

在C#中计算字符串的显示宽度?

  •  59
  • Jeffrey Meyer  · 技术社区  · 18 年前

    这个问题的Java版本刚刚得到了回答,我不知道如何在.net中做到这一点。

    那么,如何计算C#/.net中字符串的显示宽度呢?

    6 回复  |  直到 18 年前
        1
  •  63
  •   Alan    18 年前

    Windows窗体的另一种选择是静态文本呈现器。MeasureText方法。

    虽然仅限于整数大小,但这(与TextRenderer.DrawText结合使用)比Graphics渲染更准确、质量更高的ClearType文本。MeasureString/DrawString二重奏。

        2
  •  60
  •   Jon Skeet    18 年前

    您在这个问题中遇到了与Java问题中相同的问题——信息不足!WinForms和WPF之间会有所不同。

    对于WinForms: Graphics.MeasureString

    对于WPF,我不确定,但我怀疑这将取决于你绘制文本的确切方式。..

        3
  •  23
  •   Todd White    18 年前

    在WPF中,您将使用 FormattedText .

        4
  •  9
  •   Andrew Bullock    15 年前

    Graphics.MeasureString 但正如所解释和改进的那样,它有点糟糕; here

        5
  •  4
  •   jons911    18 年前

    你会使用图形。MeasureString。

    http://msdn.microsoft.com/en-us/library/6xe5hazb.aspx

        6
  •  1
  •   Thulani Chivandikwa    12 年前

    绘图。MeasureString([要测量的文本],[用于测量文本的字体]);

    生成的对象将提供以下内容:

    properties available

    MeasureString的其他重载也可用。