How to change the font color of some substring in

2019-05-16 09:36发布

问题:

If I want to upload a text file into the textbox and want to highlight certain words with a font color change, i know that i need to write TextBox.ForeColor = Color.SomeColor;
But if i want that not all the text will be in the same color, only some Substrings.
How can I do that?

回答1:

Check the answer by Pieter Joost van de Sande.

You can't do this in the TextBox control, only in the RichTextBox control.

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

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


回答2:

As @syed-mohsin answered, it's possible to add text, then select portions of the text and change its color.

It's also possible to not select anything, set SelectionColor, and any appended text (eg through AppendText or Text +=) will have that color, until you change SelectionColor again. For example:

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");