Dot-Net
我可以在使用 .Net WebBrowser 控制項時檢測錯誤嗎?
我有一個 .Net Froms 應用程序,它通過 WebBrowser 控制項顯示網頁。
無論如何我可以檢測到控制項是否顯示“找不到頁面”或“無法顯示網頁”錯誤?似乎沒有任何錯誤事件處理程序。
WebBrowser Windows 窗體控制項是 Internet Explorer 的包裝器,它不公開底層 ActiveX 控制項的所有功能,尤其是 NavigateError 事件。這是一個解決方法:
首先將 SHDocVw.dll 的引用添加到您的項目(添加引用視窗的 COM 選項卡)。然後您可以執行以下操作來擷取錯誤:
private void button1_Click(object sender, EventArgs e) { SHDocVw.WebBrowser instance = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance; instance.NavigateError += new SHDocVw.DWebBrowserEvents2_NavigateErrorEventHandler(instance_NavigateError); webBrowser1.Navigate("http://www.google.com/foo"); } void instance_NavigateError(object pDisp, ref object URL, ref object Frame, ref object StatusCode, ref bool Cancel) { // Do whatever you want with the error }