计算在C#中的string的显示宽度?

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

那么如何计算C#/ .net中string的显示宽度呢?

在Java问题中,您在这个问题中遇到了同样的问题 – 没有足够的信息! 它将在WinForms和WPF之间有所不同。

对于WinForms: Graphics.MeasureString

对于WPF我不确定,但我怀疑这将取决于您正在绘制文本的确切方式…

Windows窗体的替代方法是静态的TextRenderer.MeasureText方法。

尽pipe限制为整数大小,但是(与TextRenderer.DrawText一起使用)会比Graphics.MeasureString / DrawString二重奏更精确,更高质量的ClearType文本。

在WPF中,您将使用FormattedText 。

Graphics.MeasureString但它有点蹩脚,正如解释和改进; 这里

你会使用Graphics.MeasureString。

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

Graphics.MeasureString([要测量的文本],[用于测量文本的字体]);

结果对象将提供以下内容:

可用的属性

MeasureString的其他重载也可用。