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

时间:2015-03-15 18:16:35

标签: colors richtextbox lines

我试图让RTB显示任何包含foo的行都是红色的。这是我到目前为止所做的尝试:

 string foo = "foo";

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

是否有更有效的方法来解决这个问题,或者是否有人能够看到我出错的地方?

1 个答案:

答案 0 :(得分:0)

您遇到的问题是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++;
}