webbrowser 卡死

z2394945062 2012-04-13 05:12:43
一个窗口,里边有一文件框,一个按钮,一个webbrowser 控件

在文本框里输入网站,点击按钮 在webbrowser 控件显示网页

问题:

在浏览网页时,由于网页加载的速度太慢或其它一些不知道的网页的原因,webbrowser 控件响应不了,直接卡在那边,造成整个窗口死在那了 窗口标题上显示 (无法响应)


像这样的情况要怎么解决? 希望是即使webbrowser 控件卡了无响应了,但不要影响到整个窗口假死掉。

我的很多用户反应这个问题不怎么怎么解决?用多线程来加载webbrowser 控件的网页吗?
...全文
607 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hetengfei_ 2012-04-15
  • 打赏
  • 举报
回复
不知,除了webServer 控件之处还有哪些可以解释html 与js 与CSS 的第三方控件。
只在此山中 2012-04-14
  • 打赏
  • 举报
回复
单个线程肯定会卡.建议再创建个进程用WebBrowser.
z2394945062 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

单个线程肯定会卡.建议再创建个进程用WebBrowser.
[/Quote]

是指再创建个线程来加载WebBrowser里的网页吗?
能不能举例下,具体一点的?
大狗狗 2012-04-13
  • 打赏
  • 举报
回复
没有根本解决办法,目前最常用方法是界面分离,就是让webBrowser控件和主界面分离。要么用单独线程创建webBrowser,要么用单独进程创建webBrowser。不管哪种方法,都需要去协调主界面和webbrowser窗口间的位置关系,这个比较麻烦。

我还想到个暴力方法:创建一个单独线程,里面设一定时器函数,主线程(webbrowser所在的)每隔一定时给那个线程发一信号。如果webbrowser卡死,那么就会较长时间没信号,在线程里强制把webbrowser消毁掉(无法停止它的,因为它已经卡死了)。

楼主不是做网页浏览器吧?

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧