在C#开发中,设置字体字号大小可以通过Font类的相关属性实现,不同开发框架的编写方式略有差异,下面分别介绍常见场景的实现方法。

WinForms场景下的字体设置
WinForms中字体设置依赖System.Drawing.Font类,该类可以指定字体名称、字号大小、样式等属性。首先需要引入对应的命名空间:
using System.Drawing;
创建新字体对象
可以通过Font类的构造函数直接创建指定字体字号的实例,构造函数参数依次为字体名称、字号大小、字体样式,字号单位为磅。示例如下:
// 创建字体:微软雅黑,字号12,常规样式
Font newFont = new Font("微软雅黑", 12f, FontStyle.Regular);
// 创建字体:宋体,字号14,加粗样式
Font boldFont = new Font("宋体", 14f, FontStyle.Bold);
// 创建字体:黑体,字号10,倾斜样式
Font italicFont = new Font("黑体", 10f, FontStyle.Italic);
为控件设置字体
WinForms的控件大多包含Font属性,直接将创建的Font对象赋值给该属性即可完成设置。以下是将Label和Button控件设置为自定义字体的示例:
// 假设窗体上存在名为label1的Label控件和button1的Button控件
label1.Font = new Font("微软雅黑", 12f, FontStyle.Regular);
button1.Font = new Font("宋体", 14f, FontStyle.Bold);
动态修改已有字体字号
如果需要基于现有控件的字体调整字号,可以先获取原有字体属性,再创建新的Font实例:
// 获取label1原有字体 Font originalFont = label1.Font; // 基于原有字体创建字号增大2磅的新字体,保留原有字体名称和样式 Font updatedFont = new Font(originalFont.FontFamily, originalFont.Size + 2f, originalFont.Style); // 应用新字体 label1.Font = updatedFont;
WPF场景下的字体设置
WPF中字体设置使用System.Windows.Media.FontFamily和字号属性配合,控件通过FontFamily和FontSize属性设置。首先需要引入对应的命名空间:
using System.Windows.Media;
基础字体字号设置示例
WPF中可以直接为控件的对应属性赋值,字号单位为磅,示例如下:
// 假设XAML中存在名为txtContent的TextBlock控件
// 设置字体为微软雅黑,字号16
txtContent.FontFamily = new FontFamily("微软雅黑");
txtContent.FontSize = 16;
// 同时设置字体和字号的简化写法
txtContent.FontFamily = new FontFamily("宋体");
txtContent.FontSize = 14;
动态切换字体字号
可以通过按钮点击等事件动态修改WPF控件的字体属性,示例如下:
private void ChangeFont_Click(object sender, RoutedEventArgs e)
{
// 切换TextBlock的字体为黑体,字号改为18
txtContent.FontFamily = new FontFamily("黑体");
txtContent.FontSize = 18;
}
注意事项
- 设置字体时需要确保目标系统存在对应的字体文件,否则会 fallback 到默认字体
- WinForms的Font类属于System.Drawing命名空间,使用完后建议手动调用Dispose方法释放资源,避免内存泄漏
- WPF的FontSize单位是设备无关单位,默认和磅的换算关系是1磅等于1.333设备无关单位,如果需要和WinForms保持一致的磅值,可以直接传入对应的数值
通过上述方法,就可以在C#的不同开发框架下完成字体字号大小的设置,根据实际项目需求选择对应的实现方式即可。