VB.NET 章鱼哥 如何在项目中使用外部文字格式

当我们设置控件的字体时,有时候会发现很多字体在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, "\bin\Debug", "\res\segoeui.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

时间: 2024-08-27 04:01:14

VB.NET 章鱼哥 如何在项目中使用外部文字格式的相关文章

Eclipse_java项目中导入外部jar文件

很多时候,在java项目中需要导入外部 .jar文件,比如:需要导入数据库连接驱动等等一些包.不熟悉eclipse的人可能会犯愁,其实很简单....步骤如下: 在需要添加外部文件的项目上   单击右键--->Build Path----->Configuer Build Path---->Libraries---->Add External JARs....... 整个过程就这么简单..... Eclipse_java项目中导入外部jar文件

Intellij IDEA在maven项目中添加外部Jar包运行

一. 问题概述 我们知道Intellij IDEA是非常好用的Java语言开发的集成环境.提供了非常多实用的功能,包括了智能代码助手.代码自动提示.代码重构.各种插件等,当然也集成了maven 正常情况下,我们创建maven项目时,相关的jar包会自动导入,当然我们也可以通过IDEA右侧的maven工具来实现jar包的加载. 但我们在实际开发过程中,可能会使用外部jar包的情况,如实现与第三方公司的系统对接时,需要使用到他公司提供的jar包,这个时候在maven中央仓库找不到,该如何导入呢? 首

win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件

我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把浏览方式设为 内部web browser才会加载到最新的js文件:浏览方式为其它时,加载的js还是旧版的! 解决方案:

VB.NET 章鱼哥 如何修改一个项目的名称

如上图所示,现想把项目中所有的"计算器(章鱼哥)"改为"计算器(章鱼哥)1_0" ,简单的在项目属性中改变程序集和命名空间是不可行的. 本文提供一种可行的方式. 第一步: 新建一个空的窗体应用项目,命名为 "计算器(章鱼哥)1_0" 第二步:选择 项目>添加现有项 第三步:选择下图中的.resx .vb文件 添加到项目 第四步:添加结束后,从项目中排出Form1空窗体 第五步:这个时候会出现下图中的错误提示: 第六步:选择 项目>计算

VB.NET 章鱼哥 自定义控件的建立和使用

VB..NET 是支持用户自定义控件的,这个方法特别好用.当然如果想建成比较复杂的控件还需要很多知识,本文只是演示一遍如何建立简单的自定义控件,以及如何在新的项目中引用这个控件(就像标准控件一样拖动) 章鱼哥 QQ 3107073263 群 30981613 ㈠新建一个Windows 窗体控件库,命名为"自定义控件1" ㈡ 向空白的控件中拖放标准控件(这里拖放了CheckBox和TextBox控件,更改了控件的背景色) ㈢ 向控件添加代码(这里是一个非常简单的例子,当选中CheckBo

[查异常网]-20160331-谈谈J2EE项目中的异常处理

为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”.笔者在初学java时也是这样认为的.如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成unchecked Exception ,何时需要把unChecked Exception转化成checked Exception?异常是否应该

[ASP.NET] 如何透过 HTTP Handler 让 Web 项目中的图片 Response 时加上指定的文字(转)

这两天在网络上逛街的时候, 看到"Topcat"的一篇文章 "如何透过 HTTP Handler 让 Web 项目中的图案(JPG)Response时加上指定的文字" 因为之前大多都另外使用 ashx 文件刷新图片, 输出时在使用者网页上看到的连结也大多会是 *.ashx,看久了总觉得很怪╰(‵□′)╯ 还好有看到这篇文章,在此先谢谢 Cat 大大- 以下,转录自"topcat 姗舞之间的极度凝聚" 另外,请 Cat 大大恕我修改了 小-小-小-

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢

DotNet项目中的一些常用验证操作

在项目中需要对用户输入的信息,以及一些方法生成的结果进行验证,一般在项目中较多的采用js插件或js来进行有关信息的校验,但是从项目安全性的角度进行考虑,可对系统进行js注入. 如果在后台对用户输入的信息进行验证会相对的安全,在出现信息验证不合法时,可以直接在程序中抛出异常,终止程序的运行. 现在提供几种较为常用的验证方法,可以减少在项目中开发时间和错误性: 1.判断域名:         /// <summary>         /// 普通的域名         /// </summ