繁体   English   中英

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

[英]C#: How can I add the DATE in BOLD into a RichTextBox but keep writing in regular font (not BOLD)

我有一个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;
 }

但是很明显,其他所有随后键入的文本都是Blue&Bold字体。

如何添加粗体显示的日期,但之后再用常规字体键入任何内容?

经过测试和工作:

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();

使用select格式化文本:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM