2012-04-27 54 views
1

有沒有一種方法可以將HTML嵌入到Windows窗體自定義用戶控件中?我想創建一個用於.NET 4.0應用程序的輕量級控件,但由於它的內容是可行的,所以我認爲使用HTML來佈局它可能是最簡單的。有沒有辦法在Windows窗體中實現這一點? C#和HTML還有其他一些主題,但非常確定的是,不涉及創建一個解析HTML並顯示它的控件。在C#表格中嵌入HTML

感謝

+0

與WebBrowser控件進行通信的瀏覽器在一個winform應用程序中是一個PITA,我會避免選擇HTML,因爲您希望佈局變得更加容易,在運行時會更容易動態加載控件(取決於配置) – 2012-04-27 02:53:28

回答

2

你可以使用一個WebBrowser,但我建議你不打算沿着這條道路。只需使用傳統的控件來完成你所需要的,如果可能的話,可能還會結合一點GDI +。

+2

WebBrowser是......挑剔的。我第二個「不是那條路」。 WPF有點像「類似HTML」,並且相對容易嵌入到WinForms中。 (有缺點(?)它仍然使用WPF堆棧。) – 2012-04-27 02:25:00

+0

不幸的是,這只是一個WinForms應用程序。我的意思是我可以自己解析HTML並使用GDI或D2D或其他任何方法呈現元素,但我想知道是否有一些開箱即解析HTML並將其呈現出來,因爲我想避免編寫一個整體從頭開始的DOM解析器... – user1181950 2012-04-27 02:45:42

+1

就像我說的,'WebBrowser'。這是一個標準的Windows窗體控件。但否則 - 不,或者至少,直到我出來BreezeCSS。它是如此複雜以至於它值得標記? – Ryan 2012-04-27 02:46:40

0

在易用性和維護方面,WebBrowser將是您的最佳選擇。您可以通過訪問browser.Document.DomDocument接口和事件來進一步控制內容本身。我不會推薦使用GDI,因爲從長遠來看,維護和管理自定義渲染會變得很痛苦。

+0

我同意GDI超過了頂部,但使用webbrowser控件是顯示網頁,太多的業務邏輯最終是在表示層,如果你使用它們作爲usercontrols - 迷宮,那麼只需製作一個web應用程序然後 – 2012-04-27 03:00:12

+0

@JeremyThompson:同意。但是,對於大多數關於SO的問題,您無法評估正在討論的項目大小和操作的侷限性。我自己有時會訴諸網頁瀏覽器控制,需要快速格式化的內容。有些項目不值得最佳實踐。在其他情況下,我可能因此而被槍殺。 – 2012-04-27 03:22:15

+0

感謝您的回覆/提示。如上文所述,時間是主要瓶頸。我會嘗試WebBrowser作爲一個快速骯髒的第一遍,並重新評估下更好/更乾淨的解決方案的道路。 – user1181950 2012-04-27 03:55:25

0

我一直在嘗試做類似的事情,發現awesomium。他們有一個dotnet和單聲道包裝,並在整個事情的行爲很好的糧食控制。只要貴公司的年收入低於10萬美元,它也是免費的。

忘記提到這是你基本上是在你的應用程序中嵌入,所以你不必擔心用戶沒有安裝它或任何東西,是洽在PC和操作系統的