我有一个RichTextBox,每次单击“表单”按钮时都会写一个字符串。每个字符串以字符串“Long”或“Short”开头,以换行符结束。每次添加字符串时,它都会附加到RichTextBox的底部。如果它是“长”的话,我想把每一行的颜色涂成红色,如果它以“短”的形式开始,我想把它变成蓝色。我怎么能这样做?
答案 0 :(得分:46)
当然,您可以使用SelectionStart,SelectionLength和SelectionColor属性来完成此任务。它运作得很好。
查看this page以获取有关这些属性的信息。
您可以通过将SelectionStart属性设置为当前长度,获取要添加的字符串的长度,设置SelectionLength然后根据需要设置SelectionColor来了解RichTextBox文本的长度和颜色。 。冲洗并重复添加每个字符串。
int length = richTextBox.TextLength; // at end of text
richTextBox.AppendText(mystring);
richTextBox.SelectionStart = length;
richTextBox.SelectionLength = mystring.Length;
richTextBox.SelectionColor = Color.Red;
这样的事情。这就是我记得它的工作方式。
答案 1 :(得分:36)
我只是在我写的一个程序中这样做。我正在做像@itsmatt这样的事情,但我感觉有点简单。您可以设置Selectioncolor
,RichTextBox
上的那个点将是那种颜色,直到您将其更改为其他颜色。如果你正在测试每一行,这似乎很容易,而且很容易。
if(myString == "Long")
{
richTextBox.SelectionColor = Color.Red;
}
else
{
richTextBox.SelectionColor = Color.Green
}
richTextBox.AppendText(myString);