我有这段代码:
display:inline-block;
我得到了
<{1}}方法上的“非静态[...]”
需要对象引用
错误,但使用:
using System.Drawing;
int offset;
string longest = "";
Font F = new Font("Microsoft Sans Serif", 8, FontStyle.Regular);
list.Aggregate("", (max, cur) => max.Length > cur.Length ? longest = max : longest = cur);
offset = Graphics.MeasureString(longest, F).Width;
引发“Graphics.MeasureString
类型中不存在类型名称offset = new Graphics.MeasureString(longest, F).Width;
”。奇怪的是,当MeasureString
字是绝对的时,编译器 在Graphics
类(或其他任何类)中找到MeasureString
方法。
所以我的问题是,当编译器找到方法时它是静态的,并且在初始化它的新实例时 - 它无法找到。
答案 0 :(得分:4)
您需要创建Graphics
对象的实例。在WinForms中(这看起来像WinForms代码):
var graphics = this.CreateGraphics();
...
offset = graphics.MeasureString(longest, F).Width;