为了账号安全,请及时绑定邮箱和手机立即绑定

C#中如何自动检查webbrowser文档加载完毕

C#中如何自动检查webbrowser文档加载完毕

慕哥6287543 2018-09-14 08:05:29
C# winform 窗体上有三个控件 两个button(button1和button2)和一个webbrowser,我在button1中检测webbroser加载文档是否完毕,如果完毕则点击button2,否则等待 webbrowser1加载完毕,这个逻辑应该怎么表达呢我目前是这样搞的在button1_click函数中webBrowser1.Navigate(s);                    while(webBrowser1.ReadyState!=WebBrowserReadyState.Complete)                    {                    };                    btnNextPage_Click(null, null);结果发现的问题是,函数死循环在while语句
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            button2_Click(button2, null);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
            {
                button2_Click(button2, null);
            }
            else
            {
                webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            }
        }


查看完整回答
反对 回复 2018-09-18
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

当然会是死循环,因为webbrowser加载有一个过程,你在button1的事件中去检查永远不会完成,因为这时候是还在服务器post当中。你要在客户端判断!就像判断ajax请求状态那样。

查看完整回答
反对 回复 2018-09-18
  • 2 回答
  • 0 关注
  • 669 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号