繁体   English   中英

如何在C#中的后台工作程序中使用Web浏览器对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM