C# Winform使用iconfont等字体图标

.NET
952
0
0
2022-03-30
标签   C#

目前fontawesome,iconfont等字体图标很流行,字体图标为我们提供了丰富的内容,统一的风格,使用也方便,尤其在网页和移动开发中,是必不可少的工具。

C#中,WPF可以很好的使用这类字体图标,只需要定义一个资源,就可以直接使用,设计时也可以使用,那么在Winform需要怎么使用呢?如何在设计时也可以直接使用呢?

  1. 准备好需要的字体文件,打包进资源文件或直接使用文件都可以。
  2. 使用PrivateFontCollection的AddFontFile或AddMemoryFont加载字体。加载后,我们可以通过PrivateFontCollection的Families获得字体FontFamily,这样就可以在运行时指定字体并使用了。

但这样还是不支持在设计时使用,因为设计时字体列表中没有我们加载的字体,我们需要自定义一个控件,从Control继承或从Label或其它控件继承都可以,重写控件的OnPaint,使用字体时指定使用我们加载的字体就可以了。

为了更加方便的使用,我们可以设计一个图标选择框,设计时可以从图标中选择。

C# Winform使用iconfont等字体图标设计时选择图标

https://github.com/wuqinchao/JwControls/blob/master/Jw.Winform.Ctrls/Iconfont/JwIconfontManager.cs

https://github.com/wuqinchao/JwControls/blob/master/Jw.Winform.Ctrls/JwIcons/JwIcon.cs