我如何在UltraWinGrid中设置自定义字体?

时间:2013-06-11 10:19:29

标签: .net windows vb.net winforms infragistics

我正在尝试在UltraWinGrid中使用自定义TTF字体。我创建了一个PrivateFontCollection实例,然后我将我的字体资源添加到此

pfc = New PrivateFontCollection
Dim fonMemPointer As IntPtr = _
    Marshal.AllocCoTaskMem(My.Resources.FontAwesome.Length)
Marshal.Copy(My.Resources.FontAwesome, _
             0, _
             fonMemPointer, My.Resources.FontAwesome.Length)

pfc.AddMemoryFont(fonMemPointer, My.Resources.FontAwesome.Length)

因此,在Grid上我有一个CellAppearance属性,它有一个FonData属性。这个有一个CreateFont方法,我不知道它是为了什么?但我这样做了:

.CellAppearance.FontData.Name = _
                 .CellAppearance.CreateFont(New Font(pfc.Families(0), Single.))
.CellAppearance.FontData.SizeInPoints = 9
.CellAppearance.FontData.Bold = DefaultableBoolean.False

这对我不起作用。你能给我任何建议吗? 谢谢。

1 个答案:

答案 0 :(得分:3)

当您使用CreateFont()方法时,您可以根据特定单元格的FontData设置创建一个Font,但如果要应用自定义字体,则应使用ultraGrid1.Font。例如:

PrivateFontCollection pfc = new PrivateFontCollection();
pfc.AddFontFile("..\\..\\customFont.ttf");
ultraGrid1.Font = new System.Drawing.Font(pfc.Families[0], 12F);

以下是我使用自定义字体测试的屏幕截图:

enter image description here