Colors 更改RichTextbox中包含指定字符串的行的颜色

Colors 更改RichTextbox中包含指定字符串的行的颜色,colors,richtextbox,lines,Colors,Richtextbox,Lines,我正试图让RTB将包含foo的任何行显示为红色。以下是我迄今为止所做的尝试: string foo = "foo"; if (richTextBox1.Lines.Contains(foo)) { richTextBox1.Select(richTextBox1.Lines.Contains(foo); richTextBox1.SelectionColor = Color.Red

我正试图让RTB将包含
foo
的任何行显示为红色。以下是我迄今为止所做的尝试:

 string foo = "foo";

            if (richTextBox1.Lines.Contains(foo))
            {
                richTextBox1.Select(richTextBox1.Lines.Contains(foo);
                richTextBox1.SelectionColor = Color.Red;                  
            }

有没有更有效的方法来解决这个问题,或者有人能看到我的错误吗?

您遇到的问题是
Select()
函数

以下是您如何做到这一点:

string foo = "foo";
int lineNum = 0;
foreach (string line in richTextBox2.Lines)
{
    if (line.Contains(foo))
    {
        richTextBox2.Select(richTextBox2.GetFirstCharIndexFromLine(lineNum), line.Length);
        richTextBox2.SelectionColor = Color.Red;
    }
    lineNum++;
}

有趣。我会试试这个,然后回来汇报。