2010-04-13 100 views
3

我想在我的表单中显示html内容。我试图用丰富的文本框。如何使用RichTextBox显示html内容?

rtBox.Text = body; 

但它失败。

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

+0

是否要显示突出显示的html,或者从html文档复制呈现的文本? – 2010-04-13 08:43:52

+0

我想显示文本,因为我们在浏览器中看到..我不想使用网络浏览器。 – Royson 2010-04-13 08:48:07

+0

如此HTML格式的文本? – RvdK 2010-04-13 09:13:26

回答

3

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

1

RTF编码不同于HTML 。你不能马上做这件事。 Rowland正确地建议WebBrowser控制。

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

1

如果您希望HTMl突出显示文本int他RichTextBox您可以使用类似this富文本框中的语法突出显示)。
从那里你可以让你自己突出显示(基于html元素)。

这里也是一个example一个扩展RichTextBox中保存和加载HTML文件精简版

1

如果你愿意花钱,在DevExpress的RTF控制,可给定的HTML。

2

使用隐藏 WebBrowser控制并加载您想要的html内容。 然后从WebBrowser,Copy()和Paste()将SelectAll()插入到richtextbox中。

WebBrowser wb = new WebBrowser(); wb.Navigate("about:blank"); 
string [email protected]"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();