[英]How to use web browser object in background worker in C#
我下面的代码有问题。 有人可以说出为什么它在BackgroundWorker中不起作用以及如何解决这个问题吗?
string address = "My URL";
webBrowser.Navigate(new Uri(address));
do
{
Application.DoEvents();
} while (webBrowser.ReadyState != WebBrowserReadyState.Complete);
没有!!
您最好打开一个新线程并从那里指示WebBrowser
Application.DoEvents()
有点邪恶 。
这是您可以开始的方式
System.Threading.Thread t = new System.Threading.Thread(() =>
{
yourWebBrowser.Navigate("http://Google.com");
});
t.ApartmentState = System.Threading.ApartmentState.STA;
t.Start();
要获得页面已加载的通知,您可以按以下方式订阅DocumentCompleted事件:
yourWebBrowser.DocumentCompleted += WebBrowserDocumentCompleted;
void WebBrowserDocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
throw new NotImplementedException();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.