WebBrowser控件的常用方法、属性和事件

WebBrowser控件的常用方法:

鹤岗ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

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事件,在使用者点击链接将要弹出新窗口时发生,但是这个事件没有什么有用的参数,你根本就不知道使用者要打开的是什么链接。可见WebBrowser的设计者很不负责。为了解决这个问题,必须借助ShDocVw.dll。工程--添加引用--COM--Microsoft Internet Controls--确定,就可以把ShDocVw.dll添加到工程中了,然后我们就可以这样:

 
 
 
  1. //(假设wb是一个已经存在的WebBrowser)
  2. wb.Navigate("about:blank");
  3. ((SHDocVw.DWebBrowserEvents_Event)wb.ActiveXInstance).NewWindow+=BrowserNewWindow;

DWebBrowserEvents_Event是一个接口,它提供了NewWindow事件,这个事件带有详细的参数。

BrowserNewWindow就是NewWindow事件的处理程序:

 
 
 
  1. void BrowserNewWindow(string url, int flag, string target, ref object data,
  2.     string header, ref bool processed) {
  3.     processed=true;
  4.     wb.Navigate(url, null, (byte[])data, header);
  5. }

processed=true的目的是为了防止新窗口在ie中打开。

除了DWebBrowserEvents_Event,还有一个DWebBrowserEvents2_Event接口,同样可以实现上述功能,区别是后者适用于ie7以上的浏览器,当然前者也可用于ie7,只是不能利用其新特性而已(如在新窗口中打开链接和在新标签中打开链接是两个不同的事件(NewWindow2,NewWindow3))。

网页题目:WebBrowser控件的常用方法、属性和事件
当前URL:http://www.shufengxianlan.com/qtweb/news31/529581.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联