C#:如何将粗体日期添加到RichTextBox中,但继续使用常规字体(非粗体)书写

C#:如何将粗体日期添加到RichTextBox中,但继续使用常规字体(非粗体)书写,c#,richtextbox,typography,C#,Richtextbox,Typography,我有一个richTextBox,其中一个人将阅读患者的病历 我添加了一个按钮,将今天的日期(DD/MM/YYYY格式)添加到richTextBox中。当有人需要更新病历时,他们单击按钮,添加日期,然后可以继续键入 我想将添加的日期显示为粗体。在此之后键入的任何内容都应正常显示(非粗体) 这是添加日期的代码: private void button2_Click(object sender, EventArgs e) { richTextBox1.Text = richTextBox

我有一个
richTextBox
,其中一个人将阅读患者的病历

我添加了一个按钮,将今天的日期(DD/MM/YYYY格式)添加到
richTextBox
中。当有人需要更新病历时,他们单击按钮,添加日期,然后可以继续键入

我想将添加的日期显示为粗体。在此之后键入的任何内容都应正常显示(非粗体)

这是添加日期的代码:

private void button2_Click(object sender, EventArgs e)
 {
      richTextBox1.Text = richTextBox1.Text + " " +
        dateTimePicker1.Value.ToShortDateString() + ": ";
 }
(它从dateTimePicker获取日期,因为此人可能需要插入较旧的日期并记录其信息)

我试着用这样的方法:

private void button2_Click(object sender, EventArgs e)
 {
    richTextBox1.Text = = richTextBox1.Text +
        dateTimePicker1.Value.ToShortDateString() + ": ";
    richTextBox1.Font = new Font("Microsoft Sans Serif", 8, FontStyle.Bold);
    richTextBox1.ForeColor = Color.Blue;
 }
但很明显,之后键入的所有其他文本都是蓝色和粗体字体

如何以粗体添加日期,但之后以常规字体键入任何内容?

经过测试,效果良好:

richTextBox1.Select(richTextBox1.TextLength, 0);
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
richTextBox1.SelectionColor = Color.Blue;

richTextBox1.AppendText(dateTimePicker1.Value.ToShortDateString());

richTextBox1.Select(richTextBox1.TextLength, 0);
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Regular);
richTextBox1.SelectionColor = Color.Black;

richTextBox1.Focus();

使用“选择”设置文本格式:

richTextBox1.Select(0, 10); // DD/MM/YYYY has 10 character
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, FontStyle.Bold);

哇,我想这对我来说太好了。刚试过,效果很好。将继续测试,非常感谢Grant!:)我认为这不起作用,它只是将整个richtextbox的前10个字符加粗。或者我做错了什么。无论如何,谢谢!:)