我想在表单中显示html内容。我尝试使用富文本框。
rtBox.Text = body;
但它失败了。
如何在RichTextBox中显示html内容?我正在使用VS 2008。
答案 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。