如何判斷C#webbrower頁面是否加載完畢方法
第
壹種方法:////////計數器遞增函數//////// public void counteradd(object sender,
EventArgs
e) { counter++;//壹次navigated就加壹次 }/////////頁面加載
完要執行的函數///////////public void go(object sender, EventArgs
e) { counter4--;//壹次completed就減壹次 if
(0 == counter4)//等於0表示剛好加載完鳥
{ 要幹什麽就寫這裏了 }}/////////把事件handle壹下
/////////this.webBrowser1.Navigated += new
System.Windows.Forms.WebBrowserNavigatedEventHandler(counteradd);
this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go);
第
二種方法:若是壹個頁面中含有多個框架頁,那麽在每個框架頁加載完成時也可能觸發壹次DocumentCompleted事務(MSDN對其申明是在多個
的幀的景象下DocumentComplete獲取觸發多次。並非每個框架將觸發此事務,但觸發DownloadBegin事務的每個框架將觸發響應的
DocumentComplete事務)。 this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs e) { if
(e.Url.ToString() !=
webBrowser1.Url.ToString()) return;//不斷拒絕,只有URL是
webbrowser1的navigate地址才接受 else {
要幹什麽就寫這裏了 }}
3
第
三種方法:WebBrowser載入壹個頁面後DocumentCompleted事務會履行兩次,但這兩次的ReadyState狀況不壹樣,分別是
Intercative和Complete。而MSDN對這兩種狀況值的申明是:Complete該控件已完成新文檔及其所有內容的加
載;Interactive該控件已經加載足夠的文檔以容許有限的用戶交互,比如單擊已顯示的超鏈接。由此可見,實際上
DocumentCompleted事務會在Interactive狀況和Complete狀況各調用壹次,那麽我們可以按照我們的須要來斷定到底須要那
壹次。解決辦法實例代碼如下: this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs
e) {if(webBrowser1.ReadyState !=
WebBrowserReadyState.Complete) return; else{
要幹什麽就寫這裏了}}基本就三種方法了,在有firame的頁面裏面,第壹種=第二種+第三種,自己想想為什麽。再搞不定那就只能god bless
you 了,別找piikee了。