1. 程式人生 > >執行緒中呼叫WebBrowser的Navigate

執行緒中呼叫WebBrowser的Navigate

 dll裡的WebBrowser 呼叫了Navigate 而這個DLL啟用的執行緒導致的這個錯誤,通過委託的方式解決,只要是跨執行緒重新整理介面都會出錯, 意思是隻要執行緒了使用的資料賦值到介面上都會出現這樣的錯誤.都可以通過委託解決!

改寫Navigate :

public delegate void DelUserHandler(string url);

public void NavigateUrl(string url)

{

 if (this.webbrowser1.InvokeRequired)

{

DelUserHandler handler = new DelUserHandler(NavigateUrl);

this.Invoke(handler, url);

}

else

 {

this.webbrowser1.Navigate(url);

}

}