目前fontawesome,iconfont等字体图标很流行,字体图标为我们提供了丰富的内容,统一的风格,使用也方便,尤其在网页和移动开发中,是必不可少的工具。
C#中,WPF可以很好的使用这类字体图标,只需要定义一个资源,就可以直接使用,设计时也可以使用,那么在Winform需要怎么使用呢?如何在设计时也可以直接使用呢?
- 准备好需要的字体文件,打包进资源文件或直接使用文件都可以。
- 使用PrivateFontCollection的AddFontFile或AddMemoryFont加载字体。加载后,我们可以通过PrivateFontCollection的Families获得字体FontFamily,这样就可以在运行时指定字体并使用了。
但这样还是不支持在设计时使用,因为设计时字体列表中没有我们加载的字体,我们需要自定义一个控件,从Control继承或从Label或其它控件继承都可以,重写控件的OnPaint,使用字体时指定使用我们加载的字体就可以了。
为了更加方便的使用,我们可以设计一个图标选择框,设计时可以从图标中选择。
设计时选择图标
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