Author:水如烟
尝试以Microsoft Internet Explorer为参考,应用WebBrower并扩展一些常用功能。
先把MSDN中有关WebBrower的说明摘录下来,有个大概印象:
.NET Framework 类库
WebBrowser 类
语法
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class WebBrowser
Inherits WebBrowserBase
Visual Basic(用法)
Dim instance As WebBrowser
备注
使用 WebBrowser 控件可以在 Windows 窗体应用程序中承载网页以及支持浏览器的其他文档。例如,可以使用 WebBrowser 控件在应用程序中提供基于 HTML 的集成用户帮助或 Web 浏览功能。此外,还可以使用 WebBrowser 控件向 Windows 窗体客户端应用程序添加基于 Web 的现有控件。
重要事项:
WebBrowser 控件会占用大量资源。使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源。必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程。
WebBrowser 控件不能由部分受信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
WebBrowser 控件具有多个与导航相关的属性、方法和事件。使用下面的成员可以将控件导航到特定 URL、在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页:
· Url
· Navigate
· GoBack
· GoForward
· GoHome
· GoSearch
如果导航不成功,则显示一页指示出现的问题。使用这些成员中的任何一个进行导航都会导致在导航的不同阶段发生 Navigating、Navigated 和 DocumentCompleted 事件。
使用这些成员和其他成员(如 Stop 和 Refresh 方法)可以在应用程序中实现与 Internet Explorer 中的用户界面控件类似的用户界面控件。即使不希望在窗体上显示 WebBrowser 控件,某些成员也十分有用。例如,可以使用 Print 方法打印网页的最新版本,而不向用户显示该页。
使用 WebBrowser 控件还可以显示在应用程序中创建的内容或从数据库或资源文件检索的内容。使用 DocumentText 或 DocumentStream 属性,以字符串或数据流的形式获取或设置当前文档的内容。
还可以通过 Document 属性操作网页的内容,该属性包含一个 HtmlDocument 对象,向当前页提供对 HTML 文档对象模型 (DOM) 的托管访问。该属性与 ObjectForScripting 属性组合使用时,对在应用程序代码与网页中的动态 HTML (DHTML) 代码之间实现双向通信十分有用,使用它可以在单个用户界面中组合基于 Web 的控件和 Windows 窗体控件。在应用程序中可以使用 Document 属性调用脚本代码方法。脚本代码可以通过 window.external 对象访问应用程序,该对象是用于主机访问的内置 DOM 对象,它映射到为 ObjectForScripting 属性指定的对象。
注意
该类要求类级别上的安全性。如果派生类或调用堆栈中的任何调用方不具有完全信任权限,则会引发 SecurityException。有关安全要求的详细信息,请参见链接要求和继承要求。
注意
WebBrowser 类仅能用于设置为单线程单元 (STA) 模式的线程。若要使用此类,请确保已使用 STAThreadAttribute 属性标记 Main 方法。