HtmlDocument Класс

Определение

Обеспечивает программный доступ верхнего уровня к HTML-документу, который размещается в элементе управления WebBrowser.Provides top-level programmatic access to an HTML document hosted by the WebBrowser control.

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
Наследование
HtmlDocument

Примеры

В следующем примере кода используются данные из базы данных "Борей" для создания HTML TABLE динамически с помощью CreateElement.The following code example uses data from the Northwind database to create an HTML TABLE dynamically using CreateElement. AppendChild Метод также используется, сначала добавить ячейки (TD элементы) к строкам (TR элементов), а затем для добавления строк в таблицу и, наконец для добавления в конец текущего документа в таблице.The AppendChild method is also used, first to add cells (TD elements) to rows (TR elements), then to add rows to the table, and finally to append the table to the end of the current document. В примере кода требуется, что приложение имеет WebBrowser управления с именем WebBrowser1.The code example requires that your application has a WebBrowser control named WebBrowser1. Код должен вызываться после загрузки документа.The code should be called after a document has been loaded.

private void DisplayCustomersTable()
{
    DataSet customersSet = new DataSet();
    DataTable customersTable = null;
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
    sda.Fill(customersTable);
    customersTable = customersSet.Tables[0];

    if (webBrowser1.Document != null)
    {
        HtmlElement tableRow = null;
        HtmlElement headerElem = null;

        HtmlDocument doc = webBrowser1.Document;
        HtmlElement tableElem = doc.CreateElement("TABLE");
        doc.Body.AppendChild(tableElem);

        HtmlElement tableHeader = doc.CreateElement("THEAD");
        tableElem.AppendChild(tableHeader);
        tableRow = doc.CreateElement("TR");
        tableHeader.AppendChild(tableRow);

        foreach (DataColumn col in customersTable.Columns)
        {
            headerElem = doc.CreateElement("TH");
            headerElem.InnerText = col.ColumnName;
            tableRow.AppendChild(headerElem);
        }

        // Create table rows.
        HtmlElement tableBody = doc.CreateElement("TBODY");
        tableElem.AppendChild(tableBody);
        foreach (DataRow dr in customersTable.Rows)
        {
            tableRow = doc.CreateElement("TR");
            tableBody.AppendChild(tableRow);
            foreach (DataColumn col in customersTable.Columns)
            {
                Object dbCell = dr[col];
                HtmlElement tableCell = doc.CreateElement("TD");
                if (!(dbCell is DBNull))
                {
                    tableCell.InnerText = dbCell.ToString();
                }
                tableRow.AppendChild(tableCell);
            }
        }
    }
}
Private Sub DisplayCustomersTable()
    ' Initialize the database connection.
    Dim CustomerData As New DataSet()
    Dim CustomerTable As DataTable

    Try
        Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
        Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
        DBQuery.Fill(CustomerData)
    Catch dbEX As DataException

    End Try

    CustomerTable = CustomerData.Tables("Customers")

    If (Not (WebBrowser1.Document Is Nothing)) Then
        With WebBrowser1.Document
            Dim TableElem As HtmlElement = .CreateElement("TABLE")
            .Body.AppendChild(TableElem)

            Dim TableRow As HtmlElement

            ' Create the table header. 
            Dim TableHeader As HtmlElement = .CreateElement("THEAD")
            TableElem.AppendChild(TableHeader)
            TableRow = .CreateElement("TR")
            TableHeader.AppendChild(TableRow)

            Dim HeaderElem As HtmlElement
            For Each Col As DataColumn In CustomerTable.Columns
                HeaderElem = .CreateElement("TH")
                HeaderElem.InnerText = Col.ColumnName
                TableRow.AppendChild(HeaderElem)
            Next

            ' Create table rows.
            Dim TableBody As HtmlElement = .CreateElement("TBODY")
            TableElem.AppendChild(TableBody)
            For Each Row As DataRow In CustomerTable.Rows
                TableRow = .CreateElement("TR")
                TableBody.AppendChild(TableRow)
                For Each Col As DataColumn In CustomerTable.Columns
                    Dim Item As Object = Row(Col)
                    Dim TableCell As HtmlElement = .CreateElement("TD")
                    If Not (TypeOf (Item) Is DBNull) Then
                        TableCell.InnerText = CStr(Item)
                    End If
                    TableRow.AppendChild(TableCell)
                Next
            Next

        End With
    End If
End Sub

Комментарии

HtmlDocument Предоставляет управляемую оболочку вокруг объекта документа Internet Explorer, также известный как HTML объекта модели (DOM).HtmlDocument provides a managed wrapper around Internet Explorer's document object, also known as the HTML Document Object Model (DOM). Получить экземпляр HtmlDocument через Document свойство WebBrowser элемента управления.You obtain an instance of HtmlDocument through the Document property of the WebBrowser control.

HTML-теги в HTML-документе могут быть вложенными друг в друга.HTML tags inside of an HTML document can be nested inside one another. HtmlDocument Таким образом представляет дерева документов, дочерние элементы которого являются экземплярами из HtmlElement класса.HtmlDocument thus represents a document tree, whose children are instances of the HtmlElement class. В следующем примере кода показан простой HTML-файл.The following code example shows a simple HTML file.

<HTML>  
    <BODY>  
        <DIV name="Span1">Simple HTML Form</DIV>  
        <FORM>  
            <SPAN name="TextLabel">Enter Your Name:</SPAN>  
            <INPUT type="text" size="20" name="Text1">  
        </FORM>  
    </BODY>  
</HTML>  

В этом примере HtmlDocument представляет весь документ внутри HTML теги.In this example, HtmlDocument represents the entire document inside the HTML tags. BODY, DIV, FORM И SPAN теги представлены отдельные HtmlElement объектов.The BODY, DIV, FORM and SPAN tags are represented by individual HtmlElement objects.

Существует несколько способов получить доступ к элементам в этом дереве.There are several ways you can access the elements in this tree. Используйте Body свойство для доступа к BODY тег и все его дочерние элементы.Use the Body property to access the BODY tag and all of its children. ActiveElement Предоставляет свойство HtmlElement на страницу HTML, который обладает фокусом пользовательского ввода для элемента.The ActiveElement property gives you the HtmlElement for the element on an HTML page that has user input focus. Все элементы HTML-страницы могут иметь имя; All коллекции обеспечивает доступ к каждому HtmlElement по его имени в качестве индекса.All elements within an HTML page can have a name; the All collection provides access to each HtmlElement using its name as an index. GetElementsByTagName Возвращает HtmlElementCollection всех HtmlElement объекты с именем заданного тега HTML, такие как DIV или TABLE.GetElementsByTagName will return an HtmlElementCollection of all HtmlElement objects with a given HTML tag name, such as DIV or TABLE. GetElementById Возвращает один HtmlElement соответствует уникальный идентификатор, который вы указали.GetElementById will return the single HtmlElement corresponding to the unique ID that you supply. GetElementFromPoint Возвращает HtmlElement , можно найти на экране по координатам мыши предоставленного указателя.GetElementFromPoint will return the HtmlElement that can be found on the screen at the supplied mouse pointer coordinates.

Можно также использовать Forms и Images коллекции для перебора элементов этого пользователя представляют собой входные данные формы и графики, соответственно.You can also use the Forms and Images collection to iterate through elements that represent user input forms and graphics, respectively.

HtmlDocument основан на неуправляемые интерфейсы, реализованные с Internet Explorer DHTML DOM: IHTMLDocument, IHTMLDocument2, IHTMLDocument3, и IHTMLDocument4.HtmlDocument is based on the unmanaged interfaces implemented by Internet Explorer's DHTML DOM: IHTMLDocument, IHTMLDocument2, IHTMLDocument3, and IHTMLDocument4. Только наиболее часто используемые свойства и методы на эти неуправляемые интерфейсы, предоставляемые HtmlDocument.Only the most frequently used properties and methods on these unmanaged interfaces are exposed by HtmlDocument. Доступны все прочие свойства и методы напрямую с помощью DomDocument свойство, которое можно привести к указателю нужного неуправляемый интерфейс.You can access all other properties and methods directly using the DomDocument property, which you can cast to the desired unmanaged interface pointer.

HTML-документ может содержать фреймов, о которых находятся в разных окнах внутри WebBrowser элемента управления.An HTML document may contain frames, which are different windows inside of the WebBrowser control. Каждый кадр отображает свой собственный HTML-страницу.Each frame displays its own HTML page. Frames Коллекция доступна через Window свойство.The Frames collection is available through the Window property. Можно также использовать Window свойство для изменения размера отображаемой страницы, прокрутить документ или отображения предупреждения и предлагает пользователю.You may also use the Window property to resize the displayed page, scroll the document, or display alerts and prompts to the user.

HtmlDocument предоставляет самые распространенные события, необходимые для обработки, если размещение HTML-страниц.HtmlDocument exposes the most common events you would expect to handle when hosting HTML pages. Для событий, не доступные непосредственно в интерфейсе, можно добавить обработчик для событий с помощью AttachEventHandler.For events not exposed directly by the interface, you can add a handler for the event using AttachEventHandler.

HTML-файлы могут содержать SCRIPT теги, которые инкапсулируют код, написанный на одном из языков активных сценариев, таких как JScript или VBScript.HTML files may contain SCRIPT tags that encapsulate code written in one of the Active Scripting languages, such as JScript or VBScript. InvokeScript Предоставляет метод для выполнения свойства и методы, определенные в SCRIPT тега.The InvokeScript method provides for execution of properties and methods defined in a SCRIPT tag.

Примечание

Хотя большинство свойств, методов и событий на HtmlDocument имеют сохранены те же имена, так как они имеют на неуправляемые модели DOM, некоторые были изменены для обеспечения согласованности с .NET Framework.NET Framework.While most of the properties, methods, and events on HtmlDocument have kept the same names as they have on the unmanaged DOM, some have been changed for consistency with the .NET Framework.NET Framework.

Свойства

ActiveElement

Предоставляет объект HtmlElement, который в текущий момент находится в фокусе пользовательского ввода.Provides the HtmlElement which currently has user input focus.

ActiveLinkColor

Получает или задает объект Color гиперссылки по щелчку.Gets or sets the Color of a hyperlink when clicked by a user.

All

Получает экземпляр класса HtmlElementCollection, который хранит все объекты HtmlElement для документа.Gets an instance of HtmlElementCollection, which stores all HtmlElement objects for the document.

BackColor

Возвращает или задает цвет фона для HTML-документа.Gets or sets the background color of the HTML document.

Body

Возвращает объект HtmlElement для тега BODY.Gets the HtmlElement for the BODY tag.

Cookie

Возвращает или задает файлы cookie HTTP, связанные с данным документом.Gets or sets the HTTP cookies associated with this document.

DefaultEncoding

Получает кодировку, используемую по умолчанию для текущего документа.Gets the encoding used by default for the current document.

Domain

Возвращает или задает строку, описывающую домен этого документа в целях безопасности.Gets or sets the string describing the domain of this document for security purposes.

DomDocument

Получает указатель на неуправляемый интерфейс для данного объекта HtmlDocument.Gets the unmanaged interface pointer for this HtmlDocument.

Encoding

Возвращает или задает кодировку для этого документа.Gets or sets the character encoding for this document.

Focused

Получает значение, показывающее, имеет ли документ фокус ввода пользователя.Gets a value indicating whether the document has user input focus.

ForeColor

Возвращает или задает цвет текста для документа.Gets or sets the text color for the document.

Forms

Возвращает коллекцию всех элементов <FORM> в документе.Gets a collection of all of the <FORM> elements in the document.

Images

Получает коллекцию всех тегов изображений в документе.Gets a collection of all image tags in the document.

LinkColor

Возвращает или задает цвет гиперссылок.Gets or sets the color of hyperlinks.

Links

Возвращает список всех гиперссылок в этом HTML-документе.Gets a list of all the hyperlinks within this HTML document.

RightToLeft

Возвращает или задает направление текста в текущем документе.Gets or sets the direction of text in the current document.

Title

Возвращает или задает текстовое значение тега <TITLE> в текущем HTML-документе.Gets or sets the text value of the <TITLE> tag in the current HTML document.

Url

Получает URL-адрес, указывающий расположение этого документа.Gets the URL describing the location of this document.

VisitedLinkColor

Получает или задает цвет ссылок на HTML-страницы, которые пользователь уже посетил.Gets or sets the Color of links to HTML pages that the user has already visited.

Window

Получает объект HtmlWindow, связанный с данным документом.Gets the HtmlWindow associated with this document.

Методы

AttachEventHandler(String, EventHandler)

Добавляет обработчик событий для именованного события HTML DOM.Adds an event handler for the named HTML DOM event.

CreateElement(String)

Создает новый объект HtmlElement указанного типа HTML-тега.Creates a new HtmlElement of the specified HTML tag type.

DetachEventHandler(String, EventHandler)

Удаляет обработчик событий из именованного события модели DOM HTML.Removes an event handler from a named event on the HTML DOM.

Equals(Object)

Тестирует объект на равенство с текущим объектом.Tests the object for equality against the current object.

ExecCommand(String, Boolean, Object)

Выполняет заданную команду в отношении документа.Executes the specified command against the document.

Focus()

Помещает фокус ввода на текущий документ.Sets user input focus on the current document.

GetElementById(String)

Извлекает единственный элемент HtmlElement с использованием атрибута ID этого элемента в качестве ключа поиска.Retrieves a single HtmlElement using the element's ID attribute as a search key.

GetElementFromPoint(Point)

Возвращает HTML-элемент, расположенный по указанным клиентским координатам.Retrieves the HTML element located at the specified client coordinates.

GetElementsByTagName(String)

Возвращает коллекцию элементов с указанным HTML-тегом.Retrieve a collection of elements with the specified HTML tag.

GetHashCode()

Возвращает хэш-код для данного объекта.Retrieves the hash code for this object.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
InvokeScript(String)

Выполняет функцию Active Scripting, определенную на HTML-странице.Executes an Active Scripting function defined in an HTML page.

InvokeScript(String, Object[])

Выполняет функцию Active Scripting, определенную на HTML-странице.Executes an Active Scripting function defined in an HTML page.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OpenNew(Boolean)

Получает новый объект HtmlDocument для использования в методе Write(String).Gets a new HtmlDocument to use with the Write(String) method.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
Write(String)

Записывает новую HTML-страницу.Writes a new HTML page.

Операторы

Equality(HtmlDocument, HtmlDocument)

Возвращает значение, указывающее, представляют ли заданные экземпляры HtmlDocument одно и то же значение.Returns a value that indicates whether the specified HtmlDocument instances represent the same value.

Inequality(HtmlDocument, HtmlDocument)

Возвращает значение, указывающее, представляют ли заданные экземпляры HtmlDocument разные значения.Returns a value that indicates whether the specified HtmlDocument instances do not represent the same value.

События

Click

Происходит при щелчке документа пользователем.Occurs when the user clicks anywhere on the document.

ContextMenuShowing

Происходит, когда пользователь запрашивает отображение контекстного меню документа.Occurs when the user requests to display the document's context menu.

Focusing

Происходит перед установкой фокуса на документе.Occurs before focus is given to the document.

LosingFocus

Происходит при переходе фокуса с элемента управления.Occurs while focus is leaving a control.

MouseDown

Происходит при нажатии пользователем левой кнопки мыши.Occurs when the user clicks the left mouse button.

MouseLeave

Происходит после того, как указатель мыши покинул область документа.Occurs when the mouse is no longer hovering over the document.

MouseMove

Происходит при перемещении указателя мыши по документу.Occurs when the mouse is moved over the document.

MouseOver

Происходит при перемещении указателя мыши по документу.Occurs when the mouse is moved over the document.

MouseUp

Происходит при отпускании пользователем левой кнопки мыши.Occurs when the user releases the left mouse button.

Stop

Происходит при приостановке перехода на другую веб-страницу.Occurs when navigation to another Web page is halted.

Применяется к

Дополнительно