打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c# winform里使用指定的字体
userphoto

2010.11.18

关注
 

我们写exe程序时,默认字体是宋体,比较难看,指定了其他字体,但是其他用户上没有你指定的这个字体的话,也会变成默认的宋体。解决的办法有这么几个:

1,叫用户安装相应字体,这个基本不可能实现,因为没有几个人会进行这样的操作;

2,给用户安装相应字体,这个办法可行,在制作安装包时将字体打包进去,然后用户安装程序的时候连字体也一并安装上去,一劳永逸;

3,把字体导入到程序资源中,让程序直接调用字体资源,缺点是导致程序体积巨大;

4,将字体文件放到程序目录里,在程序里单独调用。

个人觉得第4种办法比较方便,所以决定采用这种方法,把代码写出来给需要的同学。

引用:

using System.Drawing.Text;

public void Setfont()
        {

         string AppPath = Application.StartupPath;
            try
            {
                PrivateFontCollection font = new PrivateFontCollection();
                font.AddFontFile(AppPath + @"\font\msyh.ttf");//字体的路径及名字
                Font myFont = new Font(font.Families[0].Name, 9F,FontStyle.Regular,GraphicsUnit.Point, ((byte)(134)));
                //设置窗体控件字体,哪些控件要更改都写到下面
                label1.Font = myFont;
                label2.Font = myFont;
                label3.Font = myFont;
                button1.Font = myFont;
                button2.Font = myFont;
                button3.Font = myFont;
                button4.Font = myFont;
                button5.Font = myFont;

            }
            catch
            {
                MessageBox.Show("字体不存在或加载失败\n程序将以默认字体显示", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

 

然后在public Form1()
        {
            InitializeComponent();
            Setfont();//启动字体设置函数
       }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
程序安装字体或直接调用非注册字体[c#]
tkinter模块常用参数(python3)
Java入门(11) 让程序更动人
[转]Tesseract 3.02中文字库训练
非常有用的CSS模板
Android webview 使用自定义自体
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服