使用指定字体

时间:2017-11-13 08:17:47

标签: c# winforms

这两行代码与字体有什么区别?

lblName.Font = new Font("Arial", 12f);

using(Font font = new Font("Arial", 12f))
    lblName.Font = font;

哪一个更好地保持记忆更空?哪一个更快?等

1 个答案:

答案 0 :(得分:2)

lblName.Font = new Font("Arial", 12f);

这将创建一个新字体并使标签使用该字体。如果您有多个标签,您可能只想创建一种字体并将所有标签设置为一种字体,但除此之外,这一点就好了。

using(Font font = new Font("Arial", 12f))
    lblName.Font = font;

这是创建一种字体并使标签使用它。然后然后,当using块结束时,将在字体上调用.Dispose(),使其释放所有非托管资源(就像我猜一个HFONT窗口句柄)。所以你的标签还没有在屏幕上绘制,但它有一个无效的字体对象,可能会显示任何内容或者抛出异常或恢复到已知的良好标准。

故事很长:第二个错误。 之后,请不要使用资源