当前位置: 首页 > 编程语言 > C#

在不同线程中运行和控制浏览器控件分享

时间:2023-04-11 03:33:05 C#

在不同线程中运行和控制浏览器控件我有一个主要的gui类和一些子类。有+-3个线程正在从各种Internet源和API网关等收集数据。现在,在其中一个线程中,我想运行一个网络浏览器控件,这样我就可以在我的程序中添加一些自动浏览功能。每个子线程都应该能够自己打开网络浏览器。所以我创建了第二个c#窗体,它只包含webbrowsing控件。我在这个新线程上为webbrowser控件使用了ApartmentState.STA设置。但是,form2没有响应。我尝试调用Application.Run();从这个线程,这使得webbrowser/form2响应。但是后来我的主线程停止运行。所以我有点不确定如何进行。我想要什么?这应该可以工作varth=newThread(()=>{WebBrowserDocumentCompletedEventHandlercompleted=null;using(WebBrowserwb=newWebBrowser()){completed=(sndr,e)=>{//DoSomeworkwb.DocumentCompleted-=已完成;Application.ExitThread();};wb.DocumentCompleted+=已完成;wb.Navigate(url);Application.Run();}});th.SetApartmentState(ApartmentState.STA);th.Start();第.Join();也就是说,我将使用WebClient或HttpWebRequest与HtmlAgilityPack一起下载和解析html资源。以上就是C#学习教程:在不同线程中运行和控制浏览器控件共享的所有内容。如果对大家有用并且需要进一步了解C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: