VB.NET 章鱼哥 如何在项目中使用外部文字格式
发布时间:2020-12-17 07:47:00 所属栏目:百科 来源:网络整理
导读:当我们设置控件的字体时,有时候会发现很多字体在VS编辑器中是找不到的。举个例子:Times New Roman 这个新罗马字体是我们常用的,但是在编辑器中确实找不到,不信读者可以试试。 '作者:章鱼哥,QQ:3107073263群:309816713 '如有疑问或好的建议请联系我,
当我们设置控件的字体时,有时候会发现很多字体在VS编辑器中是找不到的。举个例子:Times New Roman 这个新罗马字体是我们常用的,但是在编辑器中确实找不到,不信读者可以试试。
首先要先找到Times New Roman 格式的文件,这个可以在网上下载,也可以直接在电脑硬盘中搜,一般来说电脑中都会有的,文字格式文件是以.ttf格式存储的。 打开计算机,在右上角搜索框中输入“?.ttf”搜索可能需要些时间,具体搜索示意如下图: 第二步:将Times New Roman 格式文件复制到当前项目的文件夹下,我是在文件的Sln文件所在层新建了一个res文件夹,然后把格式文件复制到该文件夹下的。(读者可以以自己的方式存储,只要在代码中修改下就可以了) 第三步:在代码编辑器中,写一个带返回值的过程ImportFont(),代码如下: Imports System.Drawing.Text Module Module2 '导入外部字体 Public Function ImportFont() As Font ' 获取字体文件的路径 Dim Path = Replace(Application.StartupPath,"binDebug","ressegoeui.ttf") Try Dim NewFont1 As New PrivateFontCollection '建立一个 个人格式集合对象 NewFont1.AddFontFile(Path) '通过路径访问格式文件(这里的路径一定要对) 'New Font()里面可选多个参数,第一个参数就是格式名,第二个参数是字体大小,第三个参数是字体的粗细,正斜下划线等选项, '第四个参数是字体的度量单位,后面还有,不过是可选参数我直接默认了。读者可以自行试试 Dim NewFont As Font = New Font(NewFont1.Families(0).Name,12,FontStyle.Regular,GraphicsUnit.Pixel) Return NewFont Catch ex As Exception Return Nothing End Try End Function End Module 这样只要调用该函数就可以获得一个类型是Font的变量,该变量的值就是Times NewRoman格式了 '设置整个窗体中控件的字体 Private Sub SetControlFont() Dim Font1 As Font = ImportFont() '使用镶嵌循环语句,保证每个控件的字体都设置 If Font1 IsNot Nothing Then For Each Cotr As Control In Controls Cotr.Font = Font1 If Cotr.Controls IsNot Nothing Then For Each Cotr1 As Control In Cotr.Controls Cotr1.Font = Font1 Next End If Next End If End Sub好了,设置好了,只要在窗体的Load事件中调用SetControlFont()函数就可以设置该项目窗体上的每个控件的字体为Times New Roman Private Sub frm_Main_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load SetControlFont() End Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |