2012-10-04 31 views
10

我正在開發一個雙贏的窗體應用程序,需要一段時間來顯示一個「彈出窗體」窗體,該窗體在互聯網上顯示一部分網頁(HTML)。 我使用的是經典的web請求獲得頁面的HTML:在Winform上顯示HTML

var serviceRequest = new WebClient(); 
var response = serviceRequest.DownloadString(new Uri("www.something.com")); 

我已經嘗試使用Web瀏覽器控制它的作品真的很好,但你知道有利用它作爲幾個問題它基於一個COM對象(我不能動態地創建另一個包含Web瀏覽器控件的表單,而無需創建線程STA等)

我需要的是「容器」,我可以在其中注入要顯示的HTML。

有什麼建議嗎?

非常感謝

回答

8

嘗試使用內置的WebBrowser控件。

參考在CodeProject:

對於託管HTML渲染,看到Professional HTML Renderer

對於動態HTML渲染,看到Show Dynamic HTML in WinForm Applications

+1

我已經嘗試過HtmlRenderer但似乎沒有正確顯示頁面的CSS + 1反正好建議 第二鏈路使用,我不喜歡使用作爲解釋的WebBrowser控件在 –

+0

這個問題上,恐怕沒有辦法將HTML呈現給WinForms應用程序,而專業HTMl Renderer是您的案例的一個很好的信息來源,但使用時應該參考這個鏈接http://www.codeproject.com/文章/ 12172/An-extended-RichTextBox-to-save-and-load-quot-HTML –

+0

呈現HTML不適用於最新的CSS :-( –

18

可以用戶的網頁瀏覽器control.It可以直接注入所有的HTML代碼。

webBrowser1.DocumentText = "<html>hello <script>alert('hi');</script></html>"; 
+1

你可以猜出我的問題我已經嘗試過了。請在 –

+0

的問題上閱讀,效果很棒!謝謝..沒有想到像WinFor這樣的對象。 – kirk

0
webBrowser1.Document.Write(yourHtmlText);