可能是重复问题:
如何在RichTextBox中选择文本并进行着色?
我没有任何代码可以展示,因为我不知道 :(。 我有一个带标签的服务器输出信息。 例如:
15:44 [INFO] Loaded Properties
15:45 [ERROR] Properties not found
我怎样在richtextbox中查找并使所有的ERROR标签显示为红色,INFO标签显示为绿色?
可能是重复问题:
如何在RichTextBox中选择文本并进行着色?
我没有任何代码可以展示,因为我不知道 :(。 我有一个带标签的服务器输出信息。 例如:
15:44 [INFO] Loaded Properties
15:45 [ERROR] Properties not found
我怎样在richtextbox中查找并使所有的ERROR标签显示为红色,INFO标签显示为绿色?
我认为这应该符合您的需求:
for(int i=0; i<rtb.Lines.Length; i++)
{
string text = rtb.Lines[i];
rtb.Select(rtb.GetFirstCharIndexFromLine(i), text.Length);
rtb.SelectionColor = colorForLine(text);
}
private Color colorForLine(string line)
{
if(line.Contains("[INFO]", StringComparison.InvariantCultureIgnoreCase) return Color.Green;
if(line.Contains("[ERROR]", StringComparison.InvariantCultureIgnoreCase) return Color.Red;
return Color.Black;
}
编辑:将StartsWith
更改为Contains
Contains
而不是 StartsWith
。 - L.B//will select characters form index 0 to 9
richTextBox1.Select(0, 10);
//will set the characters from 0 to 9 to red
richTextBox1.SelectionColor = Color.Red;
SelectionColor
而不是SelectionColour
。 - L.B