十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Private Sub Form_Load()
站在用户的角度思考问题,与客户深入沟通,找到浈江网站设计与浈江网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、网络空间、企业邮箱。业务覆盖浈江地区。
r=Dir(C:\WINDOWS\Fonts\微软雅黑.ttf) ‘在C盘WINDOWS文件夹fonts中查找微软雅黑
If r""then
...(...填入)确认文件存在
Else
...(...填入)确认文件不存在
End if
End Sub
能
我们写exe程序时,默认字体是宋体,比较难看,指定了其他字体,但是其他用户上没有你指定的这个字体的话,也会变成默认的宋体。解决的办法有这么几个:
1,叫用户安装相应字体,这个基本不可能实现,因为没有几个人会进行这样的操作;
2,给用户安装相应字体,这个办法可行,在制作安装包时将字体打包进去,然后用户安装程序的时候连字体也一并安装上去,一劳永逸;
3,把字体导入到程序资源中,让程序直接调用字体资源,缺点是导致程序体积巨大;
4,将字体文件放到程序目录里,在程序里单独调用。
个人觉得第4种办法比较方便,所以决定采用这种方法,把代码写出来给需要的同学。
引用:
Imports System.Drawing.Text
public sub Setfont()
dim AppPath as string = Application.StartupPath
try
dim font1 as PrivateFontCollection = new PrivateFontCollection()
font1.AddFontFile(AppPath + "\font\msyh.ttf") '字体的路径及名字
dim myFont as Font = new Font(font.Families[0].Name, 9,FontStyle.Regular,GraphicsUnit.Point, 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 e as exception
MessageBox.Show("字体不存在或加载失败\n程序将以默认字体显示", "警告",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
end try
然后在public sub Form1()
InitializeComponent()
Setfont() '启动字体设置函数
end sub
字体文件直接放到 Fonts文件夹就可以了,新字体需要重启word。你说的不识别字体是指全部显示乱码,还是显示出字体但是不是对应的格式?字体文件有多个格式ttf,ttc,otf等等,有个别格式word是不会识别的,会显示为差不多宋体的样子。但是工具栏里显示的名字是正确的。
在给所有顶层窗口发送消息之前需要在注册表中记录字体:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
否则是无法显示在系统的字体列表中的。
GDI绘图用字体必须安装才能使用
在客户机部署应用程序时,安装该字体就行