有没有办法根据Windows窗体上c#中的可用高度来计算文本宽度?
编辑:我有字体大小。我想计算绘制文本所需的最小宽度,考虑到行可以被包裹。
答案 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;