我如何格式化富文本框中的文本,如以下格式文本
02/11/2010 - 下午五點一刻 - 亞當: 2日 月加入另一個測試的注意事項
02/11/2010 - 05:14 PM - Z_kas:測試說明。 階段改爲:N的查詢 - 發送報價
02/11/2010 - 下午5時12 - USER32:2日 月加入另一個測試筆記
感謝
我如何格式化富文本框中的文本,如以下格式文本
02/11/2010 - 下午五點一刻 - 亞當: 2日 月加入另一個測試的注意事項
02/11/2010 - 05:14 PM - Z_kas:測試說明。 階段改爲:N的查詢 - 發送報價
02/11/2010 - 下午5時12 - USER32:2日 月加入另一個測試筆記
感謝
的規定其他人可能會與先前的問題重複。不過,請參閱下面的代碼片段。您無需獲取要添加的文本的長度以更改其格式,只需在添加之前設置格式即可。如果在文本框中有很多文本,這(我認爲)會提供更好的性能。
只要用戶在文本框中沒有選擇,就會工作,然後會發生奇怪的事情,我無法解釋。也許別人能啓發我們?在Change color of text within a WinForms RichTextBox中提出的解決方案出現了同樣的問題。我替換了用戶名後的「:」,以便讓我的代碼示例更容易地使用DateTime事件工作,這可以在「Split」中輕鬆修改。
private void AddText(string text)
{
string[] str = text.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
if (str.Length == 2)
{
richTextBox1.DeselectAll();
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);
richTextBox1.AppendText(Environment.NewLine + str[0] + ";");
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Regular);
richTextBox1.AppendText(str[1]);
} // Else?? Well, do something else..
}
和呼叫:
private void button1_Click(object sender, EventArgs e)
{
AddText(DateTime.Now.ToString() + " - Mike; Did something");
}
另一種方法是使用RTF格式:
richTextBox1.Rtf = @"{\rtf1\pc \b 02/11/2010 - 05:15 PM - Adam:\b0 Another test notes added on 2nd November \par \b 02/11/2010 - 05:14 PM - Z_kas:\b0 Test Notes. STAGE CHANGED TO: N Enq - Send Quote\par \b 02/11/2010 - 05:12 PM - user32:\b0 Another test notes added on 2nd November";
請參閱MSDN:http://msdn.microsoft.com/en-us/library/aa287595%28v=vs.71%29.aspx http://msdn.microsoft.com/en-us/library/aa140301.aspx#rtfspec_8
「\ b」 開頭的文本的粗體部分和「\ b0」結束。 「\ par」開始新的段落/行(最接近\ n)。
[更改WinForms RichTextBox中文本的顏色]的可能重複(http://stackoverflow.com/questions/2527700/change-color-of-text-within-a-winforms-richtextbox) – Oliver 2010-11-02 12:54:04