4
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」に暗黙的に変換することはできません

どうすれば修正できますか?SizeF2行目はfloatになるはずですが、1行目はからに変換できないためfloatです。

4

3 に答える 3

6

のが必要な場合は、から返された構造からを取得する必要がWidthありますstringWidthSizeFMeasureString

例:

float startPos = e.Graphics.MeasureString(toMeasure, f).Width;
于 2013-02-18T02:22:17.400 に答える
2

メソッドはオブジェクトをMeasureString返しSizeFます。

SizeF startPos = e.Graphics.MeasureString(toMeasure, f);
于 2013-02-18T02:19:40.827 に答える
0

エラーが示すように、MeasureString関数は。を返します。System.Drawing.SizeFこれはordered pair of floating-point numbers。です。

于 2013-02-18T02:20:18.083 に答える