我環顧四周,我注意到每個人都說webbrowser異步工作,我認爲它是錯誤的,因爲當我觸發Navigate甚至實現documentComplete事件時,什麼都不會發生。如何同步瀏覽網頁瀏覽器?
我注意到,當主線程(擁有webbrowser的線程)完成了他的工作後,webbrowser就開始導航,可能是因爲之後瀏覽器將使用主線程來執行他的命令。
現在不好,因爲我希望能夠控制時間,我希望能夠知道何時webbrowser完成加載頁面,然後繼續我的工作。由於我之前說過,輪詢不起作用,網頁瀏覽器甚至沒有開始導航。
例如:
WebBrowser browser = new WebBrowser();
browser.Navigate(url);
while(browser.ReadyState != WebBrowserReadyState.Complete)
{
}
// Then executing the next steps...
我如何使用WebBrowser同步,所以我可以能夠使用WebBrowser的文檔屬性和其他的東西,我想創建某種阻塞的方法,所以我可以有控制權並且知道何時WebBrowser完成加載。
啊,主動等待沒有睡覺。不是最好的方式去。 – Vyktor