温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-07-16 01:04:49 来源:亿速云 阅读:149 作者:chen 栏目:编程语言

这篇文章主要介绍“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事件,在使用者点击链接将要弹出新窗口时发生,但是这个事件没有什么有用的参数,你根本就不知道使用者要打开的是什么链接。可见WebBrowser的设计者很不负责。为了解决这个问题,必须借助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控件的常用方法、属性和事件是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI