目录
基础版本实现
进阶版本改进
字体设置窗体增强
主窗体改进
功能对比
项目在本文章的绑定资源中免费的,0积分就可以下载哦~
在 Windows Forms 应用开发中,字体编辑功能是许多文本处理软件的基础功能。本文将分享一个简易字体编辑器的开发过程,从基础版本到进阶版本的实现思路。
基础版本实现
基础版本的字体编辑器包含两个窗体:主窗体 (Form1) 和字体设置窗体 (Form2)。
主窗体主要包含一个文本框和一个 "样式设定" 按钮,代码结构如下:
// Form1.cs
private void button1_Click(object sender, EventArgs e)
{Form2 f2 = new Form2();if (f2.ShowDialog() == DialogResult.OK){textBox1.Font = new Font(f2.comboBox1.SelectedItem.ToString(), (float)f2.numericUpDown1.Value);}
}
字体设置窗体包含字体选择下拉框、字体大小数字框和确定 / 取消按钮:
// Form2.cs
public Form2()
{InitializeComponent();//设置初始值comboBox1.SelectedIndex = 0;//下拉框初始索引numericUpDown1.Value = 12;//数字框初始值
}
在设计器中,我们为 Form2 添加了必要的控件,并设置了按钮的 DialogResult 属性,使窗体能够正确返回用户操作结果。
进阶版本改进
进阶版本在基础版本上增加了更多功能,主要改进包括:
- 使用 RichTextBox 替代 TextBox,支持部分文本字体修改
- 增加右键菜单触发字体设置
- 增加粗体和斜体样式选择
- 动态加载系统字体列表
字体设置窗体增强
进阶版的 Form2 增加了粗体和斜体复选框,并提供了 SelectedFont 属性方便主窗体获取设置:
// 进阶版Form2.cs
public Font SelectedFont { get; private set; }public Form2()
{InitializeComponent();// 初始化字体列表foreach (var fontFamily in FontFamily.Families){FontcomboBox.Items.Add(fontFamily.Name);}if (FontcomboBox.Items.Count > 0){FontcomboBox.SelectedIndex = 0;}
}private void button1_Click(object sender, EventArgs e)
{// 获取用户选择的字体string selectedFontName = FontcomboBox.SelectedItem as string;FontFamily selectedFamily = FontFamily.Families.FirstOrDefault(f => f.Name == selectedFontName);float fontSize = (float)fontSizeNumericUpDown.Value;// 处理字体样式FontStyle style = FontStyle.Regular;if (boldCheckBox.Checked)style |= FontStyle.Bold;if (italicCheckBox.Checked)style |= FontStyle.Italic;SelectedFont = new Font(selectedFamily, fontSize, style);button1.DialogResult = DialogResult.OK;
}
主窗体改进
主窗体使用 RichTextBox 并通过右键菜单触发字体设置:
// 进阶版Form1.cs
private void 更改字体ToolStripMenuItem_Click(object sender, EventArgs e)
{Form2 form2 = new Form2();if (form2.ShowDialog() == DialogResult.OK){// 检查是否有选中的文本if (richTextBox1.SelectionLength > 0){// 只修改选中部分的字体richTextBox1.SelectionFont = form2.SelectedFont;}else{// 没有选中内容则修改整个文本框字体richTextBox1.Font = form2.SelectedFont;}MessageBox.Show("字体修改成功!", "提示");}
}
功能对比
功能 | 基础版本 | 进阶版本 |
---|---|---|
文本控件 | TextBox | RichTextBox |
字体选择 | 固定列表 | 系统字体列表 |
样式支持 | 仅字体和大小 | 字体、大小、粗体、斜体 |
部分文本修改 | 不支持 | 支持 |
触发方式 | 按钮 | 右键菜单 |
通过这个字体编辑器的开发,我们可以看到从简单到复杂功能的演进过程,以及 Windows Forms 控件的灵活应用。RichTextBox 控件提供的选择文本操作功能,为实现部分文本样式修改提供了便利。