У меня есть текст в «richTextBox» и «comboBox» с именами некоторых шрифтов.Я хочу изменить шрифт текста в «richTextBox», если в «comboBox» выбран новый шрифт.Я использую следующий код.
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();
после кода выше, чтобы обновить текстовое поле, но в вене.
Как я могу изменить шрифт текста, просто выбрав в comboBox?
Обновление: Я только что понял, что приведенный выше код в порядке, проблема в том, что я использовал неправильный вызов события, использовал comboBox1_SelectedValueChanged()
вместо comboBox1_SelectedIndexChanged()
, и теперь он работает нормально.
Совет: Если вы хотите изменить шрифт всего TextBox, используйте richTextBox1.Font
, если вы хотите изменить шрифт выделенного текста, используйте richTextBox1.SelectionFont
.