如何在C# Winform的文本框中改变某些子字符串的字体颜色?

4

如果我想将一个文本文件上传到文本框,并且想要通过改变字体颜色来突出某些单词,我知道我需要编写TextBox.ForeColor = Color.SomeColor;
但是,如果我只想让并非所有文本都是相同颜色,而只有一些子字符串。
我该怎么做呢?


1
RichTextBox - Habib
2个回答

7

请参考Pieter Joost van de Sande的回答。

你无法在TextBox控件中实现此功能,只能在RichTextBox控件中实现。

if( myRichTextBox.TextLenght >= 5 )
{
myRichTextBox.Select( 0, 5 );
myRichTextBox.SelectionColor = Color.Green;
}

if( myRichTextBox.TextLenght >= 15 )
{
myRichTextBox.Select( 10, 15 );
myRichTextBox.SelectionColor = Color.Red;
}

0

正如 @syed-mohsin 所回答的那样,可以添加文本,然后选择文本的一部分并更改其颜色。

也可以不选择任何内容,设置 SelectionColor,通过 AppendTextText += 添加的任何文本都将具有该颜色,直到您再次更改 SelectionColor。例如:

richTextBox.AppendText("默认颜色"); richTextBox.SelectionColor(Color.Green); richTextBox.AppendText("这将是绿色的"); richTextBox.SelectionColor(Color.Red); richTextBox.AppendText("这将是红色的"); richTextBox.SelectionColor(Color.Black); richTextBox.AppendText("这将是黑色的");


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