30C-WinForm入门到精通-字体控件FontDialog-属性方法事件实例源码
目录
【30】C# WinForm入门到精通 ——字体控件FontDialog 【属性、方法、事件、实例、源码】
- WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要应用。
- .NET 提供了大量 Windows 风格的控件和事件,可以直接拿来使用。
- 本专栏内容是按照标题序号逐渐深入的,如有不懂的基础问题,可看前面教程。
- 在介绍属性的时候,会展示一些用法、代码、实例、截图,这样看起来更清晰,免得直接看最后综合实例会有些懵
1 字体控件FontDialog——属性
字体控件 (FontDialog) 用于设置在界面上显示的字体。
当我们需要动态的更改字体属性的时候,并且需要弹出一个可以更改字体类型、字形、字体大小的弹窗时,这时候就需要使用
FontDialog
属性:
1.1 AllowScriptChange
该值指示用户能否更改“脚本”组合框中指定的字符集
该属性为true时,如下
该属性为false时如下
1.2 AllowSimulations
该属性为true时,字形有常规、倾斜、粗体、粗偏斜体四种类型,如下图
1.3 Color
设置FontDialog的Color属性,代码如下;
假设设置Color属性为Red,则根据下面的代码可以将textBox1里面的文字的颜色设置为Red.
//显示字体对话框
DialogResult dr = fontDialog1.ShowDialog();
//如果在对话框中单击“确认”按钮,则更改文本框中的字体颜色
if (dr == DialogResult.OK)
{
textBox1.ForeColor = fontDialog1.Color;//设置颜色
}
1.4 FixedPitchOnly
如果只能选择固定间距字体,值为 true; 反之,值为 false。 默认值是 false。
1.5 Font
该属性是打开FontDialog对话框时,首先展现出来的字体相关属性,比如,设置该属性为宋体、粗体、小一如下:
这和刚开始设置的Font属性是一致的。
private void button1_Click(object sender, EventArgs e)
{
//显示字体对话框
DialogResult dr = fontDialog1.ShowDialog();
//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if (dr == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;//设置字体
}
}
1.6 FontMustExist
控制当选定的字体不存在时,是否报错
1.7 MaxSize 和 MinSize
MaxSize
控制字体的最大尺寸(磅值),MinSize
控制字体的最小尺寸(磅值),
比如设置最大值为20,最小值为10,
运行之后,打开字体对话框如下:
1.8 仅限脚本
获取或设置一个值,该值指示对话框是否排除通用电子质量和符号字符集以及国标字符集
1.9 显示应用程序
控制是否显示“应用”按钮
点击“应用”按钮以后会触发Apply事件
1.10 ShowColor
控制是否显示颜色选项,ShowEffects 属性为true时ShowColor才有效,如下:
private void button2_Click(object sender, EventArgs e)
{
//显示字体对话框
//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if (fontDialog1.ShowDialog() == DialogResult.OK)
{
label1.Font = fontDialog1.Font;//设置字体
label1.ForeColor = fontDialog1.Color;//设置颜色
}
}
1.11 ShowEffects
控制显示下划线、删除线、颜色选择项
1.12 ShowHelp
控制是否显示“帮助”按钮,如下图:
当我们点击“帮助”按钮时会触发HelpRequest事件
2 事件
2.1 Apply
当我们点击“应用”按钮以后触发该事件
2.2 HelpRequest
当我们点击“帮助”按钮以后触发该事件
3 实例:更改文本框中 字体和颜色
往窗体添加FontDialog控件。
更改字体
private void button1_Click(object sender, EventArgs e)
{
//显示字体对话框
DialogResult dr = fontDialog1.ShowDialog();
//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if (dr == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;//设置字体
}
}
字体和颜色 同时更改
private void button1_Click(object sender, EventArgs e)
{
//显示字体对话框
DialogResult dr = fontDialog1.ShowDialog();
//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if (dr == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;//设置字体
textBox1.ForeColor = fontDialog1.Color;//设置颜色
}
}
完整代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormTest2
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//显示字体对话框
DialogResult dr = fontDialog1.ShowDialog();
//如果在对话框中单击“确认”按钮,则更改文本框中的字体
if (dr == DialogResult.OK)
{
textBox1.Font = fontDialog1.Font;//设置字体
textBox1.ForeColor = fontDialog1.Color;//设置颜色
}
}
}
}