HtmlDocument クラス


WebBrowser コントロールでホストされている HTML ドキュメントに、トップレベルのプログラムによるアクセスを提供します。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

次のコード例を作成する Northwind データベースからデータを使用して、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;");
    customersTable = customersSet.Tables[0];

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

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

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

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

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

        Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
        Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
    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")

            Dim TableRow As HtmlElement

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

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

            ' Create table rows.
            Dim TableBody As HtmlElement = .CreateElement("TBODY")
            For Each Row As DataRow In CustomerTable.Rows
                TableRow = .CreateElement("TR")
                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

        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.

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

この例でHtmlDocument内でドキュメント全体を表す、HTMLタグ。In this example, HtmlDocument represents the entire document inside the HTML tags. BODYDIVFORMSPANタグは個人によって表される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 1 つを返すHtmlElementを指定する一意の ID に対応します。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.

使用することも、FormsImagesコレクションを表すユーザー要素を反復処理するフォームと、グラフィックスをそれぞれ入力します。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 によって実装されたアンマネージ インターフェイスに基づきます: IHTMLDocumentIHTMLDocument2IHTMLDocument3、および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 ファイルを含めることができますSCRIPTJScript や 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.


プロパティ、メソッド、およびイベントのほとんどを whileHtmlDocumentが非管理対象の 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.



現在ユーザーの入力フォーカスがある HtmlElement を提供します。Provides the HtmlElement which currently has user input focus.


ユーザーがハイパーリンクをクリックしたときのハイパーリンクの Color を取得または設定します。Gets or sets the Color of a hyperlink when clicked by a user.


HtmlElementCollection のインスタンスを取得します。これは、ドキュメントのすべての HtmlElement オブジェクトを格納します。Gets an instance of HtmlElementCollection, which stores all HtmlElement objects for the document.


HTML ドキュメントの背景色を取得または設定します。Gets or sets the background color of the HTML document.


BODY タグの HtmlElement を取得します。Gets the HtmlElement for the BODY tag.


このドキュメントに関連付けられている HTTP クッキーを取得または設定します。Gets or sets the HTTP cookies associated with this document.


現在のドキュメントに既定で使用されるエンコーディングを取得します。Gets the encoding used by default for the current document.


セキュリティのためにこのドキュメントのドメインを記述する文字列を取得または設定します。Gets or sets the string describing the domain of this document for security purposes.


この HtmlDocument のアンマネージ インターフェイスへのポインターを取得します。Gets the unmanaged interface pointer for this HtmlDocument.


このドキュメントの文字エンコーディングを取得または設定します。Gets or sets the character encoding for this document.


ドキュメントにユーザーの入力フォーカスがあるかどうかを示す値を取得します。Gets a value indicating whether the document has user input focus.


ドキュメントのテキストの色を取得または設定します。Gets or sets the text color for the document.


ドキュメント内のすべての <FORM> 要素のコレクションを取得します。Gets a collection of all of the <FORM> elements in the document.


ドキュメント内のすべてのイメージ タグのコレクションを取得します。Gets a collection of all image tags in the document.


ハイパーリンクの色を取得または設定します。Gets or sets the color of hyperlinks.


この HTML ドキュメント内のすべてのハイパーリンクのリストを取得します。Gets a list of all the hyperlinks within this HTML document.


現在のドキュメントでのテキストの方向を取得または設定します。Gets or sets the direction of text in the current document.


現在の HTML ドキュメント内の <TITLE> タグのテキスト値を取得または設定します。Gets or sets the text value of the <TITLE> tag in the current HTML document.


このドキュメントの場所を記述する URL を取得します。Gets the URL describing the location of this document.


ユーザーが既にアクセスした HTML ページへのリンクの色を取得または設定します。Gets or sets the Color of links to HTML pages that the user has already visited.


このドキュメントに関連付けられている HtmlWindow を取得します。Gets the HtmlWindow associated with this document.


AttachEventHandler(String, EventHandler)

指定した HTML DOM イベントのイベント ハンドラーを追加します。Adds an event handler for the named HTML DOM event.


指定した HTML タグの種類の新しい HtmlElement を作成します。Creates a new HtmlElement of the specified HTML tag type.

DetachEventHandler(String, EventHandler)

HTML DOM の指定したイベントからイベント ハンドラーを削除します。Removes an event handler from a named event on the HTML DOM.


指定したオブジェクトと現在のオブジェクトとを比較し、等しいかどうかをテストします。Tests the object for equality against the current object.

ExecCommand(String, Boolean, Object)

ドキュメントに対して指定したコマンドを実行します。Executes the specified command against the document.


ユーザーの入力フォーカスを現在のドキュメントに設定します。Sets user input focus on the current document.


要素の ID 属性を検索キーとして使用して、1 つの HtmlElement を取得します。Retrieves a single HtmlElement using the element's ID attribute as a search key.


指定されたクライアント座標にある HTML 要素を取得します。Retrieves the HTML element located at the specified client coordinates.


指定した HTML タグを持つ要素のコレクションを取得します。Retrieve a collection of elements with the specified HTML tag.


このオブジェクトのハッシュ コードを取得します。Retrieves the hash code for this object.


現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

HTML ページで定義されたアクティブ スクリプト関数を実行します。Executes an Active Scripting function defined in an HTML page.

InvokeScript(String, Object[])

HTML ページで定義されたアクティブ スクリプト関数を実行します。Executes an Active Scripting function defined in an HTML page.


現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

Write(String) メソッドと共に使用する新しい HtmlDocument を取得します。Gets a new HtmlDocument to use with the Write(String) method.


現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

新しい 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.



ユーザーがドキュメント内の任意の場所をクリックしたときに発生します。Occurs when the user clicks anywhere on the document.


ユーザーがドキュメントのコンテキスト メニューの表示を要求したときに発生します。Occurs when the user requests to display the document's context menu.


ドキュメントがフォーカスを得る前に発生します。Occurs before focus is given to the document.


コントロールからフォーカスが失われるときに発生します。Occurs while focus is leaving a control.


ユーザーがマウスの左ボタンをクリックしたときに発生します。Occurs when the user clicks the left mouse button.


マウスがドキュメント上から外れた時点で発生します。Occurs when the mouse is no longer hovering over the document.


マウスがドキュメント上を移動すると発生します。Occurs when the mouse is moved over the document.


マウスがドキュメント上を移動すると発生します。Occurs when the mouse is moved over the document.


ユーザーがマウスの左ボタンを離したときに発生します。Occurs when the user releases the left mouse button.


別の Web ページへの移動が中断されたときに発生します。Occurs when navigation to another Web page is halted.