private
void
button1_Click(
object
sender, EventArgs e)
{
bool
live =
true
;
webBrowser1.Navigate(
@"http://www.youkuaiyun.com"
);
webBrowser1.ProgressChanged +=
delegate
{ live =
true
; };
System.Threading.Timer t =
new
System.Threading.Timer(
m =>
this
.Invoke((Action)
delegate
{
//还没加载完,并且连续30秒没有进度增加了。
if
(!live && webBrowser1.ReadyState != WebBrowserReadyState.Complete) webBrowser1.Stop();
//终止掉
live =
false
;
//检查过就设置为false,如果下一次进入循环,还是false表明进度没增加,可以考虑结束打开了
}),
null
, 0, 30000);
//30秒检测,我们不检查是否结束了。而是判断是否仍然在尝试打开,这样如果网速慢就不至于错判
}
http://bbs.youkuaiyun.com/topics/340147882