为什么我在这条线上出错了
本文关键字:出错 错了 为什么 | 更新日期: 2023-09-27 17:59:54
float startPos = e.Graphics.MeasureString(toMeasure, f);
e.Graphics.DrawString(keyword, f, sb, new PointF(e.Bounds.X + (int)startPos, e.Bounds.Y));
这是f
:
using (Font f = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Regular))
这是toMeasure
:
string toMeasure = data[e.Index].Substring(0, keywords - 1);
错误出现在线路上:
float startPos = e.Graphics.MeasureString(toMeasure, f);
错误为:
无法将类型"System.Drawing.SizeF"隐式转换为"float">
我该怎么修?由于第二行应该是浮动的,但第一行不能从SizeF
转换为float
。
如果想要string
的Width
,则必须从MeasureString
返回的SizeF
结构中获取Width
示例:
float startPos = e.Graphics.MeasureString(toMeasure, f).Width;
MeasureString
返回SizeF
对象。
SizeF startPos = e.Graphics.MeasureString(toMeasure, f);
正如错误所说,MeasureString函数返回一个System.Drawing.SizeF
,即ordered pair of floating-point numbers
。