简体   繁体   中英

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?

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM