2012-06-19 142 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成本非常低。 –