C# winform(WebBrowser) 多线程问题

lovecooldog lovecooldog 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我要实现的功能是通过WebBrowser加载网页,然后解析这个网页的源码,并生成一个Html dom Tree 显示在TreeView控件上展现给用户。但是现在遇到问题: 一是遇到信息量大的网站解析比较慢,出现假死的情况;二是在解析生成树的过程中如果鼠标操作界面,就会卡死,希望得到大家的帮助。
下面是我实现这个功能的部分代码:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
return;
}
//如果页面加载完成 就执行网页解析操作
parserHtml();

}

//创建线程,进行网页解析并生成htmldomTree,然后domTree显示到界面上
pravate void parserHtml()
{
Thread thread = new Thread(new ThreadStart(createDomTree));
thread.Start();
}

private delegate void delegateUpdateTreeView(TreeNode treeNode);//委托

//实现网页的解析 和domTree的生成
void createDomTree()
{

TreeNode treeNode = parserHtmltoTree();//这个遇到信息量大的网站挺费时间
BeginInvoke(new delegateUpdateTreeView(delegateUpdateTreeViewImpl), treeNode);
}

//更新界面
void delegateUpdateTreeViewImpl(TreeNode treeNode)
{
this.TreeView1.Nodes.Add(treeNode);//把从网页中解析的信息以tree的形式显示到TreeView控件中
Application.DoEvents();
}

补充:界面假死或者卡死在控制台中打印如下异常信息:
A first chance exception of type 'System.UnauthorizedAccessException' occurred in (工程名称)*.exe。在网上找了一些方法,也没有得到解决。

希望得到大家的帮助!
...全文

相关推荐

winform多线程计算调用js

winform 多线程 js 相互调用

chenjianye1989

C# Winform与WebBrowser控件:HTML交互技术详解

WebBrowser控件是.NET框架中用于在Windows Forms应用程序中嵌入Web浏览器体验的一种控件。它允许开发者创建一个能够加载和显示网页的环境,使得用户无需离开应用程序界面就可以浏览网页内容。WebBrowser控件基于Internet Explorer浏览器技术,因此它支持大多数IE所支持的HTML和脚本功能。这种控件特别适合于需要显示网页内容或进行简单Web交互的桌面应用程序。利用WebBrowser控件,开发者可以控制网页的导航、内容的加载以及与网页内元素的交互。

EdTechIH

【C# winform练习】利用控件实现浏览器功能的方法(webbrowser和WebKit)

大佬让我做一个在winform内查询gps定位地图的功能,没搞过。gps公司就扔给我们两个链接让我们自己调。想了一下,只要在winform里搞个类似浏览器的控件,查什么传什么参数就ok了。万事俱备,只差百度。 Webbrowser控件 首先考虑的肯定是winform自带的控件,webbrowser。使用起来非常的简单方便。 在工具箱——所有Windows窗体——webbrowser 直接拖到for...

不理朝夕

c# winform 显示word

c# winform 显示word 解决了 不能在winform窗体上显示word文档的问题 该程序能完美的将word文档显示在winform窗体中

s756702559

winform web qq

winform web qq winform web qq

小范f-li.cn
评论 13
收藏 已收藏
分享
返回顶部
lovecooldog
C# 111,129 成员 642,538 内容