WebBrowser

WebBrowser是一个.NET控件类,在NETFramework2.0版中新增。WebBrowser类使用户可以在窗体中导航网页,WebBrowser控件具有多个与导航相关的属性、方法和事件,WebBrowser控件不能由部分受信任的代码使用。。WebBrowser的命名空间是System.Windows.Forms,程序集包括System.Windows.Forms(在system.windows.forms.dll中),WebBrowser控件会占用大量资源。使用完该控件后一定要调用Dispose方法,以便确保及时释放所有资源。必须在附加事件的同一线程上调用Dispose方法,该线程应始终是消息或用户界面(UI)线程。
基础资料
  • 外文名:WebBrowser
  • 运行系统:Windows
  • 开发语言:英语
  • 支持语言中文命名空间:System.Windows.Forms
  • 程序集:System.Windows
  • 简介

    简介

    语法

    Visual Basic(声明)

    _InterfaceAttribute(ClassInterfaceType.AutoDispatch)>_PublicClassWebBrowserInheritsWebBrowserBase

    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的现有控件。

    IE控件

    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窗体)

    通过部分受信任的代码使用库

    首页
    科技
    #贵族
    最新入驻
    贾科莫·普契尼
    Caroline Lufkin
    翁建宇
    相关阅读
    Microsoft Windows Server 2008
    内容词条·5719人浏览
    群集服务
    内容词条·2843人浏览
    公共语言运行库
    内容词条·1091人浏览
    1394采集卡
    内容词条·1740人浏览
    NLB
    内容词条·5597人浏览
    BCIA
    内容词条·2306人浏览
    • 网站地图
    • |

    Copyright 2023 fuwu029.com赣ICP备2022008914号-4