cheziHoyzer
cheziHoyzer

Reputation: 5041

How to change the font color of some substring in the textbox in C# Winform?

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?

Upvotes: 4

Views: 8104

Answers (2)

user276648
user276648

Reputation: 6373

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

Upvotes: 0

syed mohsin
syed mohsin

Reputation: 2938

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;
}

Upvotes: 7

Related Questions