新线程中的WebBrowser控件

新线程中的WebBrowser控件,第1张

线程中的WebBrowser控件

您必须创建一个STA线程来泵送消息循环。对于像WebBrowser这样的ActiveX组件,这是唯一的好客环境。否则,您将不会获得documentCompleted事件。一些示例代码:

private void runBrowserThread(Uri url) {    var th = new Thread(() => {        var br = new WebBrowser();        br.documentCompleted += browser_documentCompleted;        br.Navigate(url);        Application.Run();    });    th.SetApartmentState(ApartmentState.STA);    th.Start();}void browser_documentCompleted(object sender, WebBrowserdocumentCompletedEventArgs e) {    var br = sender as WebBrowser;    if (br.Url == e.Url) {        Console.WriteLine("Natigated to {0}", e.Url);        Application.ExitThread();   // Stops the thread    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存