语法
Visual Basic(声明)
Visual Basic(用法)
DiminstanceAsWebBrowser
C#
[ComVisibleAttribute(true)][ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]publicclassWebBrowser:WebBrowserBase
C++
[ComVisibleAttribute(true)][ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]publicrefclassWebBrowser:publicWebBrowserBase
J#
/**@attributeComVisibleAttribute(true)*//**@attributeClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)*/publicclassWebBrowserextendsWebBrowserBase
JavaScript
ComVisibleAttribute(true)ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)publicclassWebBrowserextendsWebBrowserBase
备注
使用WebBrowser控件可以在Windows窗体应用程序中承载网页以及支持浏览器的其他文档。例如,可以使用WebBrowser控件在应用程序中提供基于HTML的集成用户帮助或Web浏览功能。此外,还可以使用WebBrowser控件向Windows窗体客户端应用程序添加基于Web的现有控件。
WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。
一、WebBrowser控件
二、WebBrowder控件的方法
打印
WebBrowser1.ExecWB(6,1);
打印设置
WebBrowser1.ExecWB(8,1);
打印预览
WebBrowser1.ExecWB(7,1);
使用下面的成员可以将控件导航到特定URL、在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页:
Url
Navigate
GoBack
GoForward
GoHome
GoSearch
如果导航不成功,则显示一页指示出现的问题。使用这些成员中的任何一个进行导航都会导致在导航的不同阶段发生Navigating、Navigated和DocumentCompleted事件。
使用这些成员和其他成员(如Stop和Refresh方法)可以在应用程序中实现与InternetExplorer中的用户界面控件类似的用户界面控件。即使不希望在窗体上显示WebBrowser控件,某些成员也十分有用。例如,可以使用Print方法打印网页的最新版本,而不向用户显示该页。
使用WebBrowser控件还可以显示在应用程序中创建的内容或从数据库或资源文件检索的内容。使用DocumentText或DocumentStream属性,以字符串或数据流的形式获取或设置当前文档的内容。
还可以通过Document属性操作网页的内容,该属性包含一个HtmlDocument对象,向当前页提供对HTML文档对象模型(DOM)的托管访问。该属性与ObjectForScripting属性组合使用时,对在应用程序代码与网页中的动态HTML(DHTML)代码之间实现双向通信十分有用,使用它可以在单个用户界面中组合基于Web的控件和Windows窗体控件。在应用程序中可以使用Document属性调用脚本代码方法。脚本代码可以通过window.external对象访问应用程序,该对象是用于主机访问的内置DOM对象,它映射到为ObjectForScripting属性指定的对象。
注意
该类要求类级别上的安全性。如果派生类或调用堆栈中的任何调用方不具有完全信任权限,则会引发SecurityException。有关安全要求的详细信息,请参见链接要求和继承要求。
注意
WebBrowser类仅能用于设置为单线程单元(STA)模式的线程。若要使用此类,请确保使用STAThreadAttribute属性标记Main方法。
WindowsMobileforPocketPC,WindowsMobileforSmartphone,WindowsCE平台说明:要实现.NETCompactFramework应用程序中的WebBrowser的完整功能,需要用于PocketPC和Smartphone的WindowsMobile5.0版软件。有关更多信息,请参见如何:在.NETCompactFramework中使用WebBrowser控件。
下面的代码示例演示如何使用WebBrowser控件实现地址栏。此示例要求窗体包含一个名为webBrowser1的WebBrowser控件、一个名为TextBoxAddress的TextBox控件和一个名为ButtonGo的Button控件。在文本框中键入URL并按Enter或单击“转到”按钮时,WebBrowser控件会定位至指定的URL。通过单击超链接进行定位时,文本框会自动更新以显示当前URL。
VisualBasic
'NavigatestotheURLintheaddressboxwhen
'theENTERkeyispressedwhiletheToolStripTextBoxhasfocus.
PrivateSubtoolStripTextBox1_KeyDown(_
ByValsenderAsObject,ByValeAsKeyEventArgs)_
HandlestoolStripTextBox1.KeyDown
If(e.KeyCode=Keys.Enter)Then
Navigate(toolStripTextBox1.Text)
EndIf
EndSub
'NavigatestotheURLintheaddressboxwhen
'theGobuttonisclicked.
PrivateSubgoButton_Click(_
ByValsenderAsObject,ByValeAsEventArgs)_
HandlesgoButton.Click
Navigate(toolStripTextBox1.Text)
EndSub
'NavigatestothegivenURLifitisvalid.
PrivateSubNavigate(ByValaddressAsString)
IfString.IsNullOrEmpty(address)ThenReturn
Ifaddress.Equals("about:blank")ThenReturn
IfNotaddress.StartsWith("http://")And_
Notaddress.StartsWith("https://")Then
address="http://"&address
EndIf
Try
webBrowser1.Navigate(NewUri(address))
CatchexAsSystem.UriFormatException
Return
EndTry
EndSub
'UpdatestheURLinTextBoxAddressuponnavigation.
PrivateSubwebBrowser1_Navigated(ByValsenderAsObject,_
ByValeAsWebBrowserNavigatedEventArgs)_
HandleswebBrowser1.Navigated
toolStripTextBox1.Text=webBrowser1.Url.ToString()
EndSub
C#
C++
继承层次结构
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.WebBrowserBase
System.Windows.Forms.WebBrowser
线程安全
此类型的任何公共静态(VisualBasic中的Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台
Windows98、Windows2000SP4、WindowsCE、WindowsMillenniumEdition、WindowsMobileforPocketPC、WindowsMobileforSmartphone、WindowsServer2003、WindowsXPMediaCenterEdition、WindowsXPProfessionalx64Edition、WindowsXPSP2、WindowsXPStarterEdition
.NETFramework并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NETFramework
受以下版本支持:2.0
.NETCompactFramework
受以下版本支持:2.0
请参见
参考
WebBrowser成员
System.Windows.Forms命名空间
其他资源
WebBrowser控件(Windows窗体)
通过部分受信任的代码使用库
Copyright 2023 fuwu029.com赣ICP备2022008914号-4