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

Posted

技术标签:

【中文标题】更改文本框中文本的前景色和背景色【英文标题】:Changing the forecolor and backcolor of text in a textbox 【发布时间】:2011-04-27 19:57:31 【问题描述】:

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

有没有办法改变文本框或富文本框内一段文本的前景色和背景色?

【问题讨论】:

不可能,RichTextBox 是必需的,只要您保持标准控件即可。 这是 WinForms、WPF、ASP.NET 吗? 【参考方案1】:

是的,在 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.

【讨论】:

我们如何在 C#/VB.NET 中做到这一点? @Arjun Via .Rtf 见msdn.microsoft.com/en-us/library/…【参考方案2】:

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

如果您想了解如何编写语法高亮控件的分步教程,可以阅读以下文章:

    Syntax Highlighting in RichTextBox Part 1 和 Part 2。 Syntax Highlighting in RichTextBox using C#

用 VB.NET 编写的基本语法高亮控件,请看这篇文章:Color Syntax Control (VB.NET)。

如果您想要一个成熟的语法高亮控件,有两个非常好的选择。它们是:

    ScintillaNET 用于 WinForms 和; AvalonEdit 用于 WPF。 CodeProject 上有一个关于 Using AvalonEdit 的教程,所以一定要检查一下。

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于更改文本框中文本的前景色和背景色的主要内容,如果未能解决你的问题,请参考以下文章

QTextEdit中选中文本修改字体与颜色,全部文本修改字体与颜色(设置调色板的前景色背景色文字颜色以及基色)

bash基本知识

字体颜色变量数组iffor循环

改变浏览器选择文本的颜色(前景色和背景色)

如何更改一个Dialogbar上控件的前景色和背景色?

更改 Qt 中的单选按钮文本颜色