如何在富文本框中设置文本格式,如下所示
02/11/2010 - 05:15 PM - Adam:第二次添加了另一个测试笔记 十一月
02/11/2010 - 05:14 PM - Z_kas:测试笔记。 阶段变为:N Enq - 发送报价
02/11/2010 - 05:12 PM - user32:第二次添加了另一个测试说明 十一月
由于
答案 0 :(得分:21)
只要用户在文本框中没有选择,这将起作用,然后会发生我无法解释的奇怪事情。也许别人可以启发我们? Change color of text within a WinForms RichTextBox中提出的解决方案也出现了同样的问题。我替换了用户名之后的“:”只是为了让我的代码示例更容易使用DateTime工作,这可以在“拆分”中轻松修改。
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");
}
答案 1 :(得分:13)
另一种方法是使用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)。