Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Format text in Rich Text Box

How Can I format text in Rich Text Box like the following

02/11/2010 - 05:15 PM - Adam: Another test notes added on 2nd November

02/11/2010 - 05:14 PM - Z_kas: Test Notes. STAGE CHANGED TO: N Enq - Send Quote

02/11/2010 - 05:12 PM - user32: Another test notes added on 2nd November

Thanks

like image 854
Kashif Avatar asked Nov 02 '10 12:11

Kashif


People also ask

Does rich text allow formatting?

If you enable rich-text formatting for a rich text box, users can use a variety of options to format the text that they enter in that control. For example, they can apply a different font or character style to the text inside the rich text box or even insert a table into the rich text box.


1 Answers

as stated by others there is a possible duplication with an earlier question. However, please see a code snippet below. You don’t have to get the length of the text you append in order to change its formatting, just set the format before you append. This (i think) gives better performance if you have a lot of text in the textbox.

This will work as long as there are no selections in the textbox by the user, then strange things will happen that I cannot explain. Perhaps someone else can enlighten us? The same problem appears with the solution proposed in Change color of text within a WinForms RichTextBox. I replaced the “:” you had after the user name just to get my code sample to work more easily with the DateTime thing, this can be easily modified in the “Split”.

       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..
    }

And the call:

        private void button1_Click(object sender, EventArgs e)
    {
        AddText(DateTime.Now.ToString() + " - Mike; Did something");

    }
like image 193
Mikael Avatar answered Sep 19 '22 13:09

Mikael