Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在richTextBox C中绘制特定的线条?_C#_Winforms_Richtextbox_Paint - Fatal编程技术网

C# 如何在richTextBox C中绘制特定的线条?

C# 如何在richTextBox C中绘制特定的线条?,c#,winforms,richtextbox,paint,C#,Winforms,Richtextbox,Paint,在RichTextBox中给定此文本: richTextBox1.Select(0, 0); 我不知道它们的长度。 我怎样才能用绿色画第一行,用蓝色画第三行? 我读了一点SelectionColor,但我不希望该行被标记。 还有别的办法吗?也可以选择SelectionColor,但您能告诉我怎么做吗?尝试以下方法之一: richTextBox1.Select(0, 0); 给它这样的价值: richTextBox1.Find("str1"); richTextBox1.SelectionC

在RichTextBox中给定此文本:

richTextBox1.Select(0, 0);
我不知道它们的长度。 我怎样才能用绿色画第一行,用蓝色画第三行? 我读了一点SelectionColor,但我不希望该行被标记。
还有别的办法吗?也可以选择SelectionColor,但您能告诉我怎么做吗?

尝试以下方法之一:

richTextBox1.Select(0, 0);
给它这样的价值:

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);
另一种方式是:

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);
编辑:要隐藏选择,请将此行添加到代码末尾:

richTextBox1.Select(0, 0);
我不知道它们的长度

richTextBox1.Select(0, 0);
以下是另一种方法:

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

谢谢它工作,但有一种方法我可以隐藏选择?完成,你能回答我的第二个问题吗?要隐藏选择,请检查我的更新答案。richTextBox1.Select0,0;是否需要在为文本着色之前进行选择?@theMayer是的。如果您正在搜索特定字符串,则需要为该行着色,存储返回的索引并将其传递给。现在您可以使用上面代码中的行号。