更改RichTextBox突出显示BackColor和ForeColor

时间:2015-09-04 23:42:44

标签: c# winforms richtextbox

我正在制作语法分析器,所以我所做的是更改RichTextBox中某些单词的颜色和字体,但有时,当文本太长时,我的richtextbox会显示一些突出显示。我想将这些更改为与当前单词属性相同的BackColor和ForeColor,因此用户无法注意到此突出显示。如何更改RichTextBox突出显示的单词Back and Fore colors?

2 个答案:

答案 0 :(得分:1)

如果要更改所选文本的颜色和背景颜色,请尝试此操作 (如果我理解你的问题)

this.richTextBox1.SelectionColor = Color.Red;
this.richTextBox1.SelectionBackColor = Color.Blue;

答案 1 :(得分:1)

如果要设置richtextbox中的所有文字,请键入

this.richtextbox.SelectAll();

然后跟进

this.richTextBox1.SelectionColor = Color.Red;
this.richTextBox1.SelectionBackColor = Color.Blue;

正如Reza Aghaei所说。

如果您希望自动执行此操作,请双击richtextbox以创建文本更改事件,并将代码放入其中。

 private void richTextBox1_TextChanged(object sender, EventArgs e)
 {
      //Remember the cursor position & length
      int SelectionStart = richTextBox1.SelectionStart;
      int SelectionLength = richTextBox1.SelectionLength;

      //Select all text and change color
      richtextbox1.SelectAll();
      richTextBox1.SelectionColor = Color.Red;
      richTextBox1.SelectionBackColor = Color.Blue;

      //Select original text
      richTextBox1.Select(SelectionStart, SelectionLength);
 }