关于WebBrowser.DocumentCompleted事件
今天發現使用WebBrowser時載入一個頁面后DocumentCompleted事件會被調用2次,后來發現這兩次WebBrowser的ReadyState狀態是不一樣的,第一次是Intercative,第二次是Complete。
MSDN上面對兩個狀態值的解釋是:
Complete 該控件已完成新文檔及其所有內容的加載。
Interactive 該控件已經加載足夠的文檔以允許有限的用戶交互,比如單擊已顯示的超鏈接。
由此可見,當接受完成Html文本信息后會激發一次,當完成對Html相應的圖片,外部其他媒體后會激發第二次。分別是Interactive和Complete。
所以,為了防止重復激活調用事件,還是只取一次的好,我取的是Complete
于是會在DocumentCompleted的相應方法中寫入
復制 保存
if(webBrowser1.ReadyState!=WebBrowerReadyState.Complete)return;?? Thread.Sleep(5000);webBrowser1.Document.GetElementById("submit").InvokeMember("click");?????
??????????? while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)?????
??????????? {?????
??????????????? Application.DoEvents();?????
??????????? }???
轉載于:https://www.cnblogs.com/changyou/archive/2010/01/09/1643151.html
總結
以上是生活随笔為你收集整理的关于WebBrowser.DocumentCompleted事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Remoting技术使用配置文件示例
- 下一篇: 如何预防空气污染对健康的危害?