簡體   English   中英

使用C#在Windows窗體應用程序中的WebBrowser控件

[英]WebBrowser control in windows form application using C#

我正在嘗試使用webbrowser控件創建表單。 我正在嘗試在webbrowser控件中打開本地html文件。 我在Help_Print文件夾中有html文件,因此我正在使用以下代碼指定網絡瀏覽器的網址。

wbPrint.Url = new Uri("file:///" + Application.StartupPath + "\\Help_Print\\help.html");

當表單顯示Web瀏覽器控件時出現錯誤“此程序無法顯示網頁”。 我已經檢查了文件和文件夾的位置。

但是當我嘗試這個:

wbPrint.Url = new Uri("file:///" + Application.StartupPath + "/help.html");

將html文件復制到應用程序啟動位置后,它可以正常工作。

誰能解釋一下為什么會這樣,因為我想將所有html文件保存在一個單獨的文件夾中。

請勿在文件網址中使用黑斜線。 請參閱文件網址的離奇和不愉快的故事

即使我不確定為什么以前的代碼無法正常工作,我仍然找到了解決問題的方法。 我改變了兩件事:

(i)我回答了我的另一個問題時建議我刪除Uri,對於本地html文件,我不需要使用Uri。 所以這是起作用的代碼。

        String sitePath = null;
        try
        {
            sitePath = Application.StartupPath + @"\Print_Help\help.html";
            wbHelp.Navigate(sitePath);
        }
        catch (Exception exp)
        {
            MessageBox.Show(exp.ToString() + "\nSite Path: " + sitePath);
            return false;
        }
        return true;

(ii)我要做的另一件事是手動創建Print_Help文件夾。 以前是在我構建項目時創建的,因為html文件被標記為“復制到輸出目錄”為“始終復制”。

我認為第二個變化比第一個變化與我的問題解決方案有更多關系。 如果您了解邏輯,請發表評論。

使用語法:file:// c:/xyz.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM