2016-06-29 86 views
0

我已經使用richtextbox在我的WinForms中顯示日誌。Richtextbox預先加入顏色新文本

使用的語言是C#。

該軟件用於插入銀行分行的數據,並在新的分支開始後,我想顯示一個新的顏色的文本。

我已經看到鏈接Color different parts of a RichTextBox string併成功實施。

我的問題是我想預先添加新行而不是追加。這是新的行將顯示在上面。

我能夠通過改變代碼,這樣做是爲了box.Text=DateTime.Now.ToString("dd-MM-yyyy-hh-mm-ss") + ": " + text + box.Text

但顏色改變整個文本。

這是用於追加

  box.SelectionStart = box.TextLength; 
     box.SelectionLength = 0; 

     box.SelectionColor = color; 

     box.AppendText(DateTime.Now.ToString("dd-MM-yyyy-hh-mm-ss") + ": " + text); 
     box.SelectionColor = box.ForeColor; 

的過程。這是我做了什麼:

  box.Text=DateTime.Now.ToString("dd-MM-yyyy-hh-mm-ss") + ": " + text + box.text; 
     box.SelectionStart = 0; 
     box.SelectionLength = text.length; 
     box.SelectionColor = color; 

但是,這是行不通的。

回答

2

1)不要直接更改已格式化RichtTextBox

2)向Text屬性附加使用RTB.AppendText函數

3)爲插入在任何其他位置p ,包括開始使用這個:

現在210

你可以添加你想要的格式:

rtb.SelectionStart = s;   // now we prepare the new formatting.. 
rtb.SelectionLength = yourNewText.Length; //.. by selecting the text 
rtb.SelectionColor = Color.Blue; // and/or whatever you want to do.. 
... 
+0

是。因此,我正在尋找解決方案。 –