2012-06-19 60 views
0

我需要设置我每次添加文本到RichTextBox的RichTextBox.append与字体颜色?

我使用时间的字体颜色..

RtbResults.AppendText(DisplayPacket) 

要添加一个新的文本行,但每行必须一套颜色。 我发现这个在网络上,但它似乎并没有在我的VS11b

RtbResults.AppendText(DisplayPacket,forecolor,backcolor,font) 

工作这些是正确的重载?如果这不起作用,我能以另一种方式做到这一点吗? 我不想插入文本,然后返回并选择并更改其颜色。

回答

3

使用selectionColor设置属性,像这样:

richTextBox1.SelectionStart = richTextBox1.Text.Length; 
var oldcolor = richTextBox1.SelectionColor; 
richTextBox1.SelectionColor = Color.Red; 
richTextBox1.AppendText("foo"); 
richTextBox1.SelectionColor = oldcolor; 
+0

感谢您的代码,效率如何这种方法吗?我正在研究一个小型的数据包嗅探器,我将以各种颜色添加大量线条。如果rtb有大量数据建立,它仍会运行。谢谢。 – user1432290

+0

一般而言,“添加大量线条”始终是一个瓶颈。一定要删除行,以便保持在低于兆字节的文本。您肯定可以绕过您的特定场景中的SelectionStart分配,更改SelectionColor成本非常低。 –