C#:在文本框上使用嵌入字体
我将字体作为嵌入资源嵌入到 Windows 窗体应用程序中,并希望在 TextBox
中使用它。
在 AddMemoryFont()
的帮助下,我必须将兼容文本渲染设置为 true
才能使用 GDI+,这样我的字体就可以使用了。但不知怎的,它就是无法显示正确的字体。
在 Program.cs 中,我明确指出:
Application.SetCompatibleTextRenderingDefault(true);
那么为什么它不起作用?有人知道如何为文本框设置自定义字体吗?
I'm embedding a font in my windows forms application as embedded resource, and want to use it in a TextBox
.
The help of AddMemoryFont()
says I have to set compatible text rendering to true
in order to use GDI+, and so my font can then be used. But somehow it just won't display the right font.
In Program.cs I explicitly state:
Application.SetCompatibleTextRenderingDefault(true);
So why is it not working? Anybody got a clue on how to set a custom font to a TextBox?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,多亏了互联网和谷歌,我终于弄清楚了。
供将来参考,如果有人遇到此问题,修复方法是:
在将嵌入字体作为流获取之后,在调用 AddMemoryFont 之前,
你必须调用 AddFontMemResourceEx !
(在 C# 中不可用,因此您必须导入它 :
然后 :
很快,您就可以使用该字体了。
如果没有 AddFontMemResourceEx 它将无法工作。
Okay, I figured it out thanks to the interwebs and Google.
For future reference, if anybody has this problem, the fix is :
after getting your embedded font as a stream, and before calling AddMemoryFont,
you have to call AddFontMemResourceEx !
(Not available in C# so you have to import it :
and then :
And presto, you'll be able to use the font.
Without the AddFontMemResourceEx it wont work.
谢谢它正在工作。
在 C# Windows 应用程序中嵌入字体
Thanks it's working.
TO Embed Font in c# Windows Application