這篇文章主要介紹“WebBrowser控件的常用方法、屬性和事件是什么”,在日常操作中,相信很多人在WebBrowser控件的常用方法、屬性和事件是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”WebBrowser控件的常用方法、屬性和事件是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
WebBrowser控件的常用方法:
Navigate(string urlString):瀏覽urlString表示的網址
Navigate(System.Uri url):瀏覽url表示的網址
Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders):
瀏覽urlString表示的網址,并發送postData中的消息
(通常我們登錄一個網站的時候就會把用戶名和密碼作為postData發送出去)
GoBack():后退
GoForward():前進
Refresh():刷新
Stop():停止
GoHome():瀏覽主頁
WebBrowser控件的常用屬性:
Document:獲取當前正在瀏覽的文檔
DocumentTitle:獲取當前正在瀏覽的網頁標題
StatusText:獲取當前狀態欄的文本
Url:獲取當前正在瀏覽的網址的Uri
ReadyState:獲取瀏覽的狀態
WebBrowser控件的常用事件:
DocumentTitleChanged,
CanGoBackChanged,
CanGoForwardChanged,
DocumentTitleChanged,
ProgressChanged,
ProgressChanged
這幾個意思很明顯,就不細說了。
Navigating,開始導航
Navigated,導航完成并開始裝載文檔
DocumentCompleted:按理應該是整個文檔裝載完成,即網頁完全顯示完才發生,但事實上似乎不是,所以還是慎用這個事件。用ReadyState來判斷是否完全裝載完成更好。
這些方法、屬性、事件,對于實際瀏覽來說并不夠,因為你要能處理彈出新窗口的信息,就算是你要強制所有的鏈接都在同一窗口內打開,你也要知道使用者點了什么鏈接吧。但是WebBrowser竟然沒有提供這個事件,有一個NewWindow事件,在使用者點擊鏈接將要彈出新窗口時發生,但是這個事件沒有什么有用的參數,你根本就不知道使用者要打開的是什么鏈接??梢奧ebBrowser的設計者很不負責。為了解決這個問題,必須借助ShDocVw.dll。工程--添加引用--COM--Microsoft Internet Controls--確定,就可以把ShDocVw.dll添加到工程中了,然后我們就可以這樣:
//(假設wb是一個已經存在的WebBrowser) wb.Navigate("about:blank"); ((SHDocVw.DWebBrowserEvents_Event)wb.ActiveXInstance).NewWindow+=BrowserNewWindow;
DWebBrowserEvents_Event是一個接口,它提供了NewWindow事件,這個事件帶有詳細的參數。
BrowserNewWindow就是NewWindow事件的處理程序:
void BrowserNewWindow(string url, int flag, string target, ref object data, string header, ref bool processed) { processed=true; wb.Navigate(url, null, (byte[])data, header); }
processed=true的目的是為了防止新窗口在ie中打開。
除了DWebBrowserEvents_Event,還有一個DWebBrowserEvents2_Event接口,同樣可以實現上述功能,區別是后者適用于ie7以上的瀏覽器,當然前者也可用于ie7,只是不能利用其新特性而已(如在新窗口中打開鏈接和在新標簽中打開鏈接是兩個不同的事件(NewWindow2,NewWindow3))。
到此,關于“WebBrowser控件的常用方法、屬性和事件是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。