C# - 动态更改 RichTextBox 中的文本字体?

标签 c# .net fonts richtextbox

我在“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() 现在工作正常。

提示:如果您想更改整个文本框的字体,请使用richTextBox1.Font,如果您只想更改所选文本的字体,请使用richTextBox1.SelectionFont

最佳答案

您可以在更改 SelectedFont 选项之前选择所有文本:

this.richTextBox1.SelectAll();
this.richTextBox1.SelectionFont = newFont;

关于C# - 动态更改 RichTextBox 中的文本字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528906/

相关文章:

c# - .NET 中的 IoC 是什么

javascript - 如何在每次刷新页面时为一行文本生成随机字体?

android - Html.fromHtml 函数的 "font"标记中有哪些字体可用?

c# - .Net 中的定时器和循环是否准确?

c# - 在UWP中处理未处理的异常-Windows 10

c# - 如何在 asp.net mvc 3 razor 中显示 modelproperty?

c# - 线程安全的StreamWriter C#怎么做呢? 1个

c# - 如何使用 C# 检查一个对象(我必须插入到列表中)是否已经在列表中?

c# - 如何将 unicode 字符放在 C# 中的 System.Windows.Forms.Button 上?

php - 如何使用 PHP 在网站上实现 OCR?