我注意到当我们尝试使用C#列出字体时,它可以很好地工作.但是,如果我们要在应用程序运行时安装新字体,则在重新启动应用程序之前,调用字体枚举不会返回新字体.
这是代码:
public void Populate(bool b)
{
both = b;
foreach (FontFamily ff in FontFamily.Families)
{
if(ff.IsStyleAvailable(FontStyle.Regular))
Items.Add(ff.Name);
}
}
上述方法的注意事项:
Items.Add()将项目添加到comboBox.
我肯定在这里理解不正确.我如何获得上面的代码以重新查询系统的字体,甚至是新字体?
解决方法:
你尝试过
using System.Drawing.Text;
InstalledFontCollection fonts = new InstalledFontCollection();
foreach (FontFamily ff in fonts.Families)
{
if (ff.IsStyleAvailable(FontStyle.Regular))
Items.Add(ff.Name);
}