构造具有多种字体的字符串

时间:2009-08-14 12:53:53

标签: c# .net richtextbox

我需要将包含不同字体的不同RichTextBox的字符串添加到保留原始字体的一个RichTextBox中(更常见的是,有时我会获得XML格式,其中定义了子字符串的字体。)

有没有办法在内存中构造这个字符串然后简单地将它放在RichTextBox中?如果没有,还有其他办法吗?

3 个答案:

答案 0 :(得分:2)

试试这个:

richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = 10;
richTextBox1.SelectionFont = new Font( "Veradana", 8.25F );

使用不同字体的foreach块只需重复代码

答案 1 :(得分:0)

This answer提供了一个代码示例,用于将具有不同颜色的文本绘制到图片框中。您可以轻松修改它以使用不同的字体绘制文本。如果您需要RichTextBox的可滚动性,可以将图片框放在面板上。

更新:由于您需要使用RichTextBox,this link会向您展示如何将原始XML转换为可以加载到RichTextBox中的RTF。为此,您必须创建一个XSLT文档,该文档描述如何将XML转换为RTF。我包含的链接提供了一个示例XSLT文档;您必须根据原始XML文档中指定的不同字体的方式修改此XSLT(如果您发布原始XML的示例,我们可能会帮助您相应地修改XSLT。)

答案 2 :(得分:0)

您可以使用它以 .rtf 格式在RichTextBox中保存任何内容

SaveFile
格式的

RichTextBoxStreamType.RichText
方法,如果您希望加载已保存的格式,请致电
LoadFile
方法
来源here