【发布时间】:2014-11-26 03:47:29
【问题描述】:
我正在尝试开发字体应用程序。在 ListView 中,我列出了所有已安装的字体。现在我想显示用该字体编写的字体名称。
InstalledFontCollection installedFontCollection = new InstalledFontCollection();
fontFamilies = installedFontCollection.Families;
int fontCount = fontFamilies.Length;
familyList = new ListViewItem[fontCount];
for (int i = 0; i < fontCount; i++)
{
familyList[i] = new ListViewItem(fontFamilies[i].Name);
}
listView1.Items.AddRange(familyList);
在for循环中,我尝试设置字体
familyList[i].Font = new Font(fontFamilies[i], 12);
但是,所有文本都变为空白。
如果我对值进行硬编码,它可以正常工作。即使我根据随机条件对不同的字体进行硬编码,比如
if (i % 2 == 0)
familyList[i].Font = new Font(fontFamilies[53], 12);
else
familyList[i].Font = new Font(fontFamilies[12], 12);
列表按预期交替字体。
这可能是什么问题?是否某些字体可能未定义或无法使用,从而导致整个列表失败?不会抛出任何错误。
谢谢。
【问题讨论】:
-
你用什么? WinForms,WPF?
-
WinForms,我猜?它是 Visual Studio 2013 中的 WindowsFormsApplications。