как передать строку rtf в элемент управления richtextbox
у меня есть строка символов/токенов richtext, которые я хотел бы передать richtextbox в коде.
string rt = @" {rtf1ansiansicpg1252deff0deflang1033{fonttbl{f0fswissfcharset0 Arial;}{f1fnilfprq2fcharset0 Biondi;}}"+
@"{colortbl ;red255green0blue0;}"+
@"{*generator Msftedit 5.41.15.1507;}viewkind4uc1pardf0fs20par"+
@"cf1f1 hellocf0f0 ul worldpar}";
Я попытался это :
System.IO.MemoryStream strm = new System.IO.MemoryStream();
byte[] b = Encoding.ASCII.GetBytes(rt);
strm.BeginRead(b, 0, b.Length, null, null);
richTextBox1.LoadFile(strm, RichTextBoxStreamType.RichText);
это не сработало.
кто может дать мне несколько предложений.
BTW богатый текст происходит от сохранения с wordpad, открытия файла с помощью блокнота и использования текста с in для создания моей строки
2 ответов
Rich textbox имеет свойство с именем Rtf. Задайте этому свойству значение string. Кроме того, ваша строка имеет дополнительное пространство в качестве первого символа. Мне пришлось убрать это, прежде чем я увидел твой приветственный мир.
расширение ответа gbogumil:
string rt = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fprq2\fcharset0 Biondi;}}"+
@"{\colortbl ;\red255\green0\blue0;}"+
@"{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20\par"+
@"\cf1\f1 hello\cf0\f0 \ul world\par}";
this.richTextBox1.Rtf = rt;