如何在没有安装的情况下在winform设计器中使用ttf字体?

时间:2017-12-04 02:41:11

标签: c# winforms

我想在winform设计器中使用自定义ttf字体。 我试图搜索,但只有编程方式添加。 但程序化的方式并没有反映在设计师身上。 wpf项目可以通过混合视觉工作室来实现,但是winform无法设置ttf字体,我用设计器添加项目。 我该怎么办?

1 个答案:

答案 0 :(得分:-1)

试试这个

// specify embedded resource name
string resource = "embedded_font.PAGAP___.TTF";

// receive resource stream
Stream fontStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resource);

// create an unsafe memory block for the font data
System.IntPtr data = Marshal.AllocCoTaskMem((int)fontStream.Length);

// create a buffer to read in to
byte[] fontdata = new byte[fontStream.Length];

// read the font data from the resource
fontStream.Read(fontdata, 0, (int)fontStream.Length);

// copy the bytes to the unsafe memory block
Marshal.Copy(fontdata, 0, data, (int)fontStream.Length);

// pass the font to the font collection
private_fonts.AddMemoryFont(data, (int)fontStream.Length);

// close the resource stream
fontStream.Close();

// free up the unsafe memory
Marshal.FreeCoTaskMem(data);

How to quickly and easily embed fonts in winforms app in C#