我有一些文本在“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
。