2010-04-13 102 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();