2012-09-30 45 views
0

我用這個方法嵌入網頁在我的程序:加載外部文件,如CSS到WebBrowser控件

WebBrowser1.DocumentText = "<b>hello</b> world <img src=""/images/amiga.png"" />" 

所以HTML是在程序中,但我想加載CSS和來自外部的圖像(例如./themes/default/style.css)。

那麼,我把文件在開發過程中,我做的路徑是什麼呢?

我想要的HTML是靜態的,但允許用戶更改CSS。

編輯:實際上,因爲它是在代碼中,如果有什麼東西在動,在程序位置放,可以工作,比如%programlocation%+「/themes/default/style.css」

,我也在考慮使用壁虎,而不是IE渲染引擎,因此,如果有人知道的好辦法做到這一點讓我知道

回答

3

所以你想從文件系統純粹做到這一點,沒有網絡服務器?我不完全確定這是否可行,但您可以嘗試:

WebBrowser1.DocumentText = "<head><link rel=""StyleSheet"" HREF=""file:///" & Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).Replace("\\", "/") & "/themes/default/style.css"" TYPE=""text/css"" /></head><body><b>hello</b> world <img src=""/images/amiga.png"" /></body></html>" 
+0

如果將它安裝到其他位置會怎麼樣? 編輯:實際上,因爲它是在代碼中,如果有什麼東西在動,在程序位置放,可以工作,比如%programlocation%+「/themes/default/style.css」 – stackers

+0

我剛剛更新了我的例子,說明了這一點。請注意,我不是一個龐大的VB.NET開發人員(更多C#),所以如果我的語法不好,請原諒我:)。編輯:順便說一句,請注意,我正在用正斜槓替換反斜槓,因爲語法。不過,出於安全原因,較新版本的IE可能不允許直接訪問文件系統。 file:///語法是正確的,但它可能是IE阻止的安全問題。 –

+0

確實有點環顧四周,它實際上看起來是可以做到的只是「Application.StartupPath()」,將看看是否能工程 – stackers