刚刚回答了这个问题的Java版本,而且,我不知道如何在.net中执行此操作。
那么如何计算C#/ .net?
中字符串的显示宽度答案 0 :(得分:63)
Windows Forms的替代方法是静态TextRenderer.MeasureText方法。
虽然限制为整数大小,但它(与TextRenderer.DrawText一起)渲染的ClearType文本比Graphics.MeasureString / DrawString duo更精确,质量更高。
答案 1 :(得分:56)
你在这个问题中遇到的问题与Java问题中存在的问题相同 - 信息不足!它在WinForms和WPF之间会有所不同。
对于WinForms:Graphics.MeasureString
对于WPF我不确定,但我怀疑它将取决于您绘制文本的确切方式......
答案 2 :(得分:21)
在WPF中,您将使用FormattedText。
答案 3 :(得分:9)
Graphics.MeasureString
但它有点蹩脚,正如解释和改进的那样; here
答案 4 :(得分:4)
您将使用Graphics.MeasureString。
答案 5 :(得分:1)
Graphics.MeasureString([测量文本],[用于测量文本的字体]);
结果对象将提供以下内容:
MeasureString的其他重载也可用。