![](/img/trans.png)
[英]C#: Paste RTF in RichTextBox but keep coloring and formatting (i.e: bold, underline, etc)
[英]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.