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