【发布时间】:2012-12-16 16:42:18
【问题描述】:
如果我想将文本文件上传到文本框并想通过改变字体颜色来突出显示某些单词,我知道我需要写TextBox.ForeColor = Color.SomeColor;
但是如果我希望 不是所有的文本都将是 相同的颜色,只有一些子字符串。
我该怎么做?
【问题讨论】:
标签: c# colors textbox substring
如果我想将文本文件上传到文本框并想通过改变字体颜色来突出显示某些单词,我知道我需要写TextBox.ForeColor = Color.SomeColor;
但是如果我希望 不是所有的文本都将是 相同的颜色,只有一些子字符串。
我该怎么做?
【问题讨论】:
标签: c# colors textbox substring
通过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;
}
【讨论】:
正如@syed-mohsin 回答的那样,可以添加文本,然后选择部分文本并更改其颜色。
也可以不选择任何内容,设置SelectionColor,任何附加文本(例如通过AppendText 或Text +=)都将具有该颜色,直到您再次更改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");
【讨论】: