6
我認爲標題涵蓋了所有內容。我使用控件來顯示一些基本的HTML和一些標記,也可能有鏈接。我想要做的是強制點擊任何鏈接以在新的IE窗口中打開此鏈接,而不是在控件本身中導航到該頁面。WinForms WebBrowser控件:強制所有鏈接在新的(IE)窗口中從外部打開
有什麼想法?
我認爲標題涵蓋了所有內容。我使用控件來顯示一些基本的HTML和一些標記,也可能有鏈接。我想要做的是強制點擊任何鏈接以在新的IE窗口中打開此鏈接,而不是在控件本身中導航到該頁面。WinForms WebBrowser控件:強制所有鏈接在新的(IE)窗口中從外部打開
有什麼想法?
您可以處理Navigating事件,將WebBrowserNavigatingEventArgs的Cancel屬性設置爲true,並使用Process.Start在IE中打開URL。
事情是這樣的:
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
// prevents WebBrowser to navigate
if (e.Url.Host.Length > 0) // Otherwise the default about:blank when you init the control doesn't work
{
e.Cancel = true;
// Open the URL in an IE window
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = e.Url.ToString();
process.Start();
}
}
就像一個魅力 - 差不多。在取消導航之前,我必須檢查e.URL.Host.Length> 0。當我設置網頁瀏覽器控件時,它將導航到「about:blank」,當我取消這個控件時,我無法設置任何文檔文本。 無論如何,我明白了,感謝您的幫助... 歡呼聲 – 2009-03-01 21:58:51