如何在richTextBox C#中绘制特定行?

时间:2015-07-24 17:26:37

标签: c# winforms richtextbox paint

driver.FindElement(By.Id("lookupCount")).HtmlInner;

中给出此文字
RichTextBox

我不知道他们所有人的长度 如何用绿色绘制第一行,用蓝色绘制第三行? 我读了一点str1 str2 str3 但我不希望该行被标记。 还有另外一种方法吗?或者也许是这样(用SelectionColor),但你能解释一下我该怎么办?

2 个答案:

答案 0 :(得分:1)

请尝试以下方法之一:

  • 给它的价值如下:

    richTextBox1.Find("str1"); 
    richTextBox1.SelectionColor = Color.Green;
    richTextBox1.Find("str3");
    richTextBox1.SelectionColor = Color.Blue;
    
  • 这样的另一种方式:

    richTextBox1.Select(0, 3);//Select text within 0 and 3
    richTextBox1.SelectionColor = Color.Green;
    richTextBox1.Select(9, 12);
    richTextBox1.SelectionColor = Color.Blue;
    

    修改:要隐藏选择,请将此行添加到代码的末尾:

    richTextBox1.Select(0, 0);
    

答案 1 :(得分:0)

  

我不知道所有这些的长度。

这是另一种方法:

    private void button1_Click(object sender, EventArgs e)
    {
        ColorLine(0, Color.Green);
        ColorLine(2, Color.Blue);
    }

    private void ColorLine(int line, Color clr)
    {
        int index = richTextBox1.GetFirstCharIndexFromLine(line);
        int length = richTextBox1.Lines[line].Length;
        richTextBox1.Select(index, length);
        richTextBox1.SelectionColor = clr;
        richTextBox1.Select(0, 0);
    }