更改文本框中文本的前景色和背景色

我正在使用VB.NET制作C ++代码编辑器应用程序。 我想在用户输入关键字时更改关键字的颜色。 此外,我正在寻找一种方法来突出显示代码的某些行。

有没有办法在文本框或富文本框中更改文本的前景色和背景色?

我真的不知道你想做什么,所以这里有一些选择。

如果您需要有关如何编写语法高亮控件的分步教程,可以阅读以下文章:

  1. RichTextBox第1 部分和第2 部分中的语法突出显示 。
  2. 使用C#在RichTextBox中突出显示语法

有关用VB.NET编写的基本语法高亮控件,请参阅此文章: 颜色语法控件(VB.NET) 。

如果你想要一个完全成熟的语法高亮控制,有两个非常好的选择。 这些是:

  1. ScintillaNET for WinForms and;
  2. WPF的AvalonEdit 。
    • 有一个关于在CodeProject上使用AvalonEdit的教程,所以一定要检查一下。

是的,在richtextbox控件中使用RTF。

来自http://www.biblioscape.com/rtf15_spec.htm

{\f1\cb1\cf2 This is colored text. The background is color 1 and the foreground is color 2.} 

不幸的是,文本框的正常前景和背景属性无济于事,您需要手动使用富文本和格式(通过文本着色和突出显示算法)。