如何用RichTextBox显示html内容?

时间:2010-04-13 08:21:39

标签: c# html winforms richtextbox

我想在表单中显示html内容。我尝试使用富文本框。

rtBox.Text = body;

但它失败了。

如何在RichTextBox中显示html内容?我正在使用VS 2008。

5 个答案:

答案 0 :(得分:5)

如果您有HTML内容,则可以使用WebBrowser控件 - 否则您必须将HTML转换为RTF以在RichTextBox中呈现

答案 1 :(得分:4)

使用隐藏 WebBrowser控件并使用您想要的html内容加载它。 然后从WebBrowser,Copy()和Paste()中选择SelectAll()进入richtextbox。

WebBrowser wb = new WebBrowser(); wb.Navigate("about:blank");
string url=@"http:\\....";
wb.Navigate(url);
private const int sleepTimeMiliseconds = 200;

while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Thread.Sleep(sleepTimeMiliseconds);
Application.DoEvents();
}

wb.Document.ExecCommand("SelectAll", false, null);
wb.Document.ExecCommand("Copy", false, null);
richtextbox.Paste();

答案 2 :(得分:2)

RTF编码与HTML不同。你不能马上做到这一点。罗兰正确地建议WebBrowser控制。

如果没有,那么你需要编写自己的HTML到RTF转换器或找到类似的东西。

答案 3 :(得分:2)

如果你希望HTMl在RichTextBox中突出显示文本,你可以使用this Rich TextBox中的语法高亮显示)。
从那里你可以自己突出显示(基于html元素)。

这里还有example用于保存和加载HTML lite文件的扩展RichTextBox

答案 4 :(得分:1)

如果您愿意花钱,可以为DevExpress RTF控件提供HTML。