[英]C# WebBrowser control page back to Windows.Form function
[英]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.