在C#中设置文本框的文本颜色

4
我有一个多行文本框,用于显示应用程序中所执行操作的状态消息。我想为文本框中的不同行设置不同的颜色。如果使用ForeColor属性,则会将所有文本的颜色设置为相同。我想要设置单行的颜色。我该怎么做?
谢谢, Rakesh.
6个回答

7

您需要使用RichTextBox,然后可以使用属性SelectionStartSelectionLengthSelectionColor来实现您想要的效果,这是最简单的解决方案。您也可以直接修改RTF。您实际上只需编辑设计师代码并将System.Windows.Forms.TextBox引用更改为RichTextBox,然后对您的代码进行一些小修改。


2

TextBox控件不支持中间行的着色。请改用ListView控件。您可以通过使用“详细信息”或“列表”视图模式来实现类似的外观和感觉。


1

你不能使用内置控件来实现这个。

要么继承它并创建自己的控件,要么使用类似于这样的东西:
ListBox项目的背景颜色(winforms)

在那里它是背景颜色,但你同样可以应用不同的前景颜色。


0

TextBox不支持多种颜色(或字体或大小)。您需要使用RichTextBox。


0

0
你需要使用一个 RichTextBox 来实现这个功能。你可以在文本中指定各种格式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接