C# 如何在richTextBox C中绘制特定的线条?
在RichTextBox中给定此文本: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
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是的。如果您正在搜索特定字符串,则需要为该行着色,存储返回的索引并将其传递给。现在您可以使用上面代码中的行号。