Add*_*die 30 c# richtextbox winforms
我有一个RichTextBox,我每次单击一个Form按钮时都会写一个字符串.每个字符串以字符串"Long"或"Short"开头,以换行符结束.每次添加字符串时,它都会附加到RichTextBox的底部.如果它是"长"的话,我想把每一行的颜色涂成红色,如果它以"短"的形式开始,我想把它变成蓝色.我怎样才能做到这一点?
its*_*att 46
当然,您可以使用SelectionStart,SelectionLength和SelectionColor属性来完成此任务.它运作得很好.
有关这些属性的信息,请查看此页面.
您可以通过将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;
Run Code Online (Sandbox Code Playgroud)
这样的事情.这就是我记得它的工作方式.
DTo*_*own 36
我只是在我写的一个程序中这样做.我正在做像@itsmatt这样的事情,但我感觉有点简单.你可以设置Selectioncolor
和从那一点开始就是RichTextBox
那种颜色,直到你把它改成别的东西.如果你正在测试每一行,这似乎很好,很容易.
if(myString == "Long")
{
richTextBox.SelectionColor = Color.Red;
}
else
{
richTextBox.SelectionColor = Color.Green
}
richTextBox.AppendText(myString);
Run Code Online (Sandbox Code Playgroud)