目錄
基礎版本實現
進階版本改進
字體設置窗體增強
主窗體改進
功能對比
項目在本文章的綁定資源中免費的,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 控件提供的選擇文本操作功能,為實現部分文本樣式修改提供了便利。