2012-06-11 58 views
5

我有一個嵌入式Web瀏覽器的C#.NET 3.5應用程序。瀏覽器被設計爲指向遠程站點(而不是任何本地)。一切工作正常,但是當頁面響應緩慢時,導致我的整個應用程序無法響應,直到加載頁面。WebBrowser控件導致整個應用程序無響應

我不介意瀏覽器在執行任務時沒有響應,但應用程序太不理想了。

有沒有一個很好的方法來防止這種情況?在單獨的線程上運行WebBrowser會有好處 - 現在有點超出我的技能範圍,我不認爲WebBrowser控件真的喜歡多線程?但是,如果需要,我可以學習。

+0

你檢查了你的錯誤日誌嗎?可能有線索爲什麼你的應用程序無響應。用這麼少的信息很難診斷你的問題。 – Eric

+0

@autumyst我不認爲有這樣的問題。它只在緩慢的網站加載時暫停。發生這種情況時,Windows 7(例如)會向用戶提供選項「等待」或結束任務,該任務看起來不太好。 – Dan

+0

一個重要的問題 - 爲什麼使用WebBrowser控件?你想做什麼?這是一個非常麻煩的控制,並根據您的需求,可能有更好的方法。 – riwalk

回答

2

看到答案#2在這個問題上就如何在一個單獨的線程中運行它的解決方案:BackgroundWorker and WebBrowser Control

你還不如讀答案#1太大,它說明你所看到的行爲(WebBrowser控件阻止UI thead)。

+0

謝謝,我會看看這 – Dan

+0

接受,因爲這是正確的答案,儘管我最終不需要使用它 – Dan

0

碰巧我發現這是我的應用程序以管理員身份運行的根本原因。在使用Internet Explorer時看到完全相同的問題 - 因此,我只是重寫了需要管理員權限的位,因此我現在不再看到原始問題。

相關問題