【发布时间】:2011-07-28 14:03:48
【问题描述】:
我在“richTextBox”和“comboBox”中有一些文本,其中有一些字体的名称。如果从“comboBox”中选择了新字体,我想更改“richTextBox”中文本的字体。我正在使用以下代码。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 1)
richTextBox1.Font = new Font("Comic Sans MS", 14);
}
问题是如果我选择字体,文本不会自动改变它的字体,只有当我输入一些新文本时它才会改变。我也试过richTextBox1.SelectionFont 而不是richTextBox1.Font。我还在上述代码之后添加了InputTextBox.Refresh(); 以刷新文本框,但有条不紊。
如何通过从组合框中选择来更改文本的字体?
更新:我刚刚发现上面的代码很好,问题是我使用了错误的事件调用,用comboBox1_SelectedValueChanged()代替comboBox1_SelectedIndexChanged(),现在它工作正常。
提示:如果你想改变整个TextBox的字体使用richTextBox1.Font,如果你想改变选定文本的字体只使用richTextBox1.SelectionFont。
【问题讨论】:
标签: c# .net fonts richtextbox