2012-04-25 46 views
6

。 我在WebBrowser.DocumentCompleted事件中註冊了一次,一旦我獲得了我期望的URL,就停止WebBrowser並關閉對話框。停止web瀏覽器導致Internet Explorer我使用C#web瀏覽器,以顯示我的桌面應用程序Facebook的登錄對話框打開

出於某種原因,關閉對話框後,Internet Explorer突然開竅。

我只能假設,它開闢了IE(這是順便說一下,甚至沒有我的默認瀏覽器),因爲Web服務器返回的頁面,我的web瀏覽器已經不見了。是這樣嗎? 任何想法如何預防它?

謝謝!

編輯:當我關閉web瀏覽器,它已經包含了顯示在IE的HTML。

+1

試圖隱藏短時間的C#web瀏覽器接收到URL後,然後將其關閉。 – 2012-04-25 07:38:55

+0

@Carl謝謝,這工作正常,但如果有一種方法可以防止未經等待的奇怪行爲,那將更好:) – Mobe 2012-04-25 08:03:37

+0

此頁面底部的代碼http://msdn.microsoft.com/en-我們/庫/ system.windows.forms.webbrowser.documentcompleted.aspx蟎給你一些指針。他們似乎在瀏覽器控件上調用Dispose。 – 2012-04-25 08:12:51

回答

3

如果它是一個彈出窗口。爲什麼不處理這個事件?你可以做這樣的事情。

{... 
    WebBrowser wb = new WebBrowser(); 
    wb.NewWindow += new System.ComponentModel.CancelEventHandler(wb_NewWindow); 
} 

void wb_NewWindow(object sender, System.ComponentModel.CancelEventArgs e) 
{ 
    e.Cancel = true; 
} 
0

這是因爲頁面沒有成功加載。也許某些腳本不能被瀏覽器執行。 在您關閉WebBrowserForm,其中webBrowser是,打開「零頁」。 務必:

WebBrowser.url = new URl("about:blank"); 

然後關閉形式,關閉或出售的瀏覽器....

相關問題