根据可用高度计算文字宽度?

时间:2011-06-06 07:20:07

标签: c# winforms

有没有办法根据Windows窗体上c#中的可用高度来计算文本宽度?

编辑:我有字体大小。我想计算绘制文本所需的最小宽度,考虑到行可以被包裹。

1 个答案:

答案 0 :(得分:1)

您可以使用此方法测量默认大小的字符串: (g是图形对象)

g.MeasureString("area", Font, maxWidth)

根据measuredHeight与availableHeight的比例缩放fontsize。在您可以使用可用区域的高度重新测量字符串

之后

或者您只是测量它以获得比例并计算出预期的宽度:

float measureFontSize = 5;
SizeF measuredBox = g.MeasureString("my string", new Font("Arial", measureFontSize));
double measuredProportion = measuredBox.Width / measuredBox.Height;

double expectedWidth = measuredProportion * wishedHeight;