我正在尝试实现一个RichTextBox,它显示带格式的某些单词。 Box将被用于新闻源,因此诸如新闻标题之类的内容应该是粗体(以及其他感兴趣的词也是粗体)。
目前,我已经使用了
TextBox1.Rtf = @"{\rtf1\ansi This is in \b bold\b0.}";
由微软提供。这有效。但是,当我使用:
TextBox1.RTF = @"{{rtf1\ansi" + my news + "}";
新闻没有换行。
为了解释我的情况,我的应用程序从远程数据库获取新闻。我希望能够从数据库中指定以粗体显示的内容。例如:
[B]标题[/ B] 这是一些随机新闻,所以[i]注意[/ i]和[b]这也是[/ b]
举个例子。如何将远程格式化到我的应用程序中的最佳方法是什么?
感谢
答案 0 :(得分:1)
如果你只是做一些非常简单的格式化(不是嵌套或任何东西),你可以只标记你的原始文本并用RTF控制字符替换你的标记。例如,下面的示例使用HTML来标记文本,并交换<strong>
和<br />
组的{\b }
和{\line}
标记:
var my_news = "<strong>This is my title</strong><br />And this is my text";
my_news = my_news.Replace("<strong>", @"{\b ").Replace("</strong>", "}").Replace("<br />", @"{\line}");
richTextBox1.Rtf = @"{\rtf1\ansi " + my_news + "}";