簡體   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