簡體   English   中英

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

[英]How do you paint a specific line in a richTextBox C#?

給定RichTextBox文本:

str1
str2
str3

我不知道所有這些的長度。
如何將第一行塗成綠色,將第三行塗成藍色? 我讀了一些SelectionColor但我不希望該行被標記。 還有另一種方法嗎? 或者,也許是這樣(使用SelectionColor ),但是您能解釋一下我該怎么做嗎?

請嘗試以下方法之一:

  • 賦予它這樣的價值:

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

我不知道所有這些的長度。

這是另一種方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM