C# - RichTextBox 更改某些单词的颜色[重复]

2024-03-09

可能的重复:
如何从 RichTextBox 中选择文本然后为其着色? https://stackoverflow.com/questions/3707120/how-to-select-text-from-the-richtextbox-and-then-color-it

我真的没有任何代码可以显示,因为我不知道:(。我有一个输出带有标签的信息的服务器。例如:

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

Edit:改变了StartsWith to Contains

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# - RichTextBox 更改某些单词的颜色[重复] 的相关文章

随机推荐