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

时间:2013-01-02 09:55:33

标签: c# colors textbox substring

如果我想将文本文件上传到文本框中并希望突出显示字体颜色更改的某些字词,我知道我需要写TextBox.ForeColor = Color.SomeColor;
但是,如果我希望并非所有文本都在相同的颜色中,只需要一些子字符串。
我怎么能这样做?

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:-1)

@ syed-mohsin回答,可以添加文本,然后选择部分文本并更改其颜色。

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

richTextBox.AppendText("default color"); richTextBox.SelectionColor(Color.Green); richTextBox.AppendText("that will be in green"); richTextBox.SelectionColor(Color.Red); richTextBox.AppendText("that will be in red"); richTextBox.SelectionColor(Color.Black); richTextBox.AppendText("that will be in black");