我有RTF字符串,想要将RTF附加到其他RichTextBox
我正在使用richtextbox1.AppendText(RTFString);
,但是附加了所有文字而没有样式化文本
string RTFString = {\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2{\fonttbl{\f0\fcharset0 Times New Roman;} {\f2\fcharset0 Segoe UI;}{\f3\fcharset0 Blackadder ITC;}}{\colortbl\red0\green0\blue0;\red255\green255\blue255;}\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs21\f2\cf0 \cf0\ql\sl20\slmult0{\fs108\f3 {\ltrch uzair}\li0\ri0\sa0\sb0\fi0\ql\sl20\slmult0\par}
}
}{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard \{\\rtf1\\ansi\\ansicpg1252\\uc1\\htmautsp\\deff2\{\\fonttbl\{\\f0\\fcharset0 Times New Roman;\}\{\\f2\\fcharset0 Segoe UI;\}\{\\f3\\fcharset0 Blackadder ITC;\}\}\{\\colortbl\\red0\\green0\\blue0;\\red255\\green255\\blue255;\}\\loch\\hich\\dbch\\pard\\plain\\ltrpar\\itap0\{\\lang1033\\fs21\\f2\\cf0 \\cf0\\ql\\sl20\\slmult0\{\\fs108\\f3 \{\\ltrch uzair\}\\li0\\ri0\\sa0\\sb0\\fi0\\ql\\sl20\\slmult0\\par\} \par \} \par \} }
附加
richtextBox1.AppendText(RTFString);
输出
Same as the "RTFString" text
可选 在设置fontFamily样式时,如果fontFamily具有后备设置,那么它将很棒
答案 0 :(得分:3)
FlowDocument document = new FlowDocument();
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(new Bold(new Run("Your text")));
document.Blocks.Add(paragraph);
richTextBox1.Document = document;
使用Paragraph类并将其添加为文档。希望它会有所帮助。
修改
如果你谈论rtf文本,那么试试这个
MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(text));
this.mainRTB.Selection.Load(stream, DataFormats.Rtf);