4

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
  • 468
  • 1
  • 4
  • 18

2 Answers2

7
rtfTxt.Rtf = @"{\rtf1\ansi This is some \b bold\b0 text.}";
Danilo Vulović
  • 2,983
  • 20
  • 31
  • 1
    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. – gingo Nov 07 '12 at 16:44
0

Just write required content with formatting to RTF File. Load RTF file in richtextbox. Verify. Read RTF content into the textbox. Put textbox content to RTF as:

Richtext.rtf = textbox1.text; // (which is textual content)
felipe.zkn
  • 2,012
  • 7
  • 31
  • 63
Tilak
  • 1