2013-01-03 40 views
0

我已經在C#中創建了一個有趣的窗體應用程序,並向其中添加了WebBrowser組件。我試圖實現的是一個小應用程序,它可以從其中具有「自定義」協議的文件加載本地html頁面,當然也可以導航到Web地址。在WebBrowser控件的導航事件上停止操作

例如在我的網頁

'<a href="Special://905">Close&nbsp;Company</a></TD></TR>'這將打開一個程序的任務如下我將不得不進入。

我試圖做到這一點是通過導航事件如下圖所示

 private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) 
     { 
     if ((webBrowser.StatusText.Contains("Special"))) 
     { 
      //For some reason the stop doesn't do much it still tries to proceed to special:123 
      //diplaying can not load page.. 
      webBrowser.Stop(); 

      //Launch program here. 
      MessageBox.Show("Special Command Found"); 
     } 
     } 

問題的方法是,它仍然導航和說,它無法找到當然的頁面。 我交換了GoBack的Stop,由於某種原因,我第一次運行它時遇到了同樣的問題,然後我在瀏覽器中選擇了後退。

我也嘗試過導航和使用GoBack,除了在應用程序中閃回事件後第一次不會再次觸發事件。

有沒有人有任何想法如何解決這個問題或我在這裏做錯了什麼?

回答

1

而不是使用WebBrowser.Stop(); 只需設置e.cancel = true;