How to add a rtf formatting in the text string for a Richt Text Box?

16,700
rtfTxt.Rtf = @"{\rtf1\ansi This is some \b bold\b0 text.}";
Share:
16,700
gingo
Author by

gingo

Updated on July 14, 2022

Comments

  • gingo
    gingo almost 2 years

    In a .NET project I have a long plain text build as concatenation of several strings

    StringLongText = text1 + text2 + ... + textN
    

    each string "textX" is the result of an evaluation. At the end of a started process, I show the result in a RichTextBox doing simply:

    rtfTxt.Text = StringLongText
    

    All works fine, but I am not able to add any text formatting in the previous text1, text2, textN blocks.

    For example I would like to write some words in bold or italic including the formatting directly in the strings before concatenating them.

    Doing

    text1 = "This is some {\b bold} text"
    rtfTxt.Text = text1
    

    did not work.

    Any suggestion? Thank you for your help.

  • gingo
    gingo over 11 years
    Thank you, that seems to be the right way. Anyway I need to write some extra code in order to format the string: for example a CrLf new line must be inserted in the right way in the rtf plain text (i.e. \par) otherwise I get an endless line from my string. The problem is that the strings are very complex and created by different objects: I should add the rtf tag direclty in the methods of those objects, but I do not like the idea because I prefer to take separate the implementation. Maybe I should change the design of those objects replacing directly the strings with rtf objects.