HtmlDocument クラス

定義

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

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
継承
HtmlDocument

次のコード例では、Northwind データベースのデータを使用して動的に作成 HTML TABLE します CreateElement。 このAppendChildメソッドは、最初に行 (要素) にセル (TD``TR要素) を追加し、次に行をテーブルに追加し、最後に現在のドキュメントの末尾にテーブルを追加するためにも使用されます。 コード例では、アプリケーションにという名前WebBrowser1のコントロールがWebBrowser必要です。 コードは、ドキュメントが読み込まれた後に呼び出す必要があります。

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 プロパティを使用してインスタンス Document を取得します WebBrowser

HTML ドキュメント内の HTML タグは、互いに入れ子にすることができます。 HtmlDocument したがって、子がクラスのインスタンスであるドキュメント ツリーを HtmlElement 表します。 次のコード例は、単純な HTML ファイルを示しています。

<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 表します。 、BODY``DIVおよび FORM SPANタグは、個々HtmlElementのオブジェクトによって表されます。

このツリーの要素にアクセスする方法はいくつかあります。 このプロパティを Body 使用して、 BODY タグとそのすべての子にアクセスします。 このプロパティは ActiveElementHtmlElement ユーザー入力フォーカスを持つ HTML ページ上の要素を指定します。 HTML ページ内のすべての要素に名前を付けることができます。コレクションは、 All その名前をインデックスとして使用して、それぞれに HtmlElement アクセスを提供します。 GetElementsByTagNameは、HtmlElementCollection指定された HTML タグ名を持つすべてのHtmlElementオブジェクトを返します。例:DIV TABLE GetElementById は、指定した一意の ID に対応する 1 つ HtmlElement を返します。 GetElementFromPoint は、 HtmlElement 指定されたマウス ポインター座標で画面に表示される値を返します。

また、and Images コレクションをForms使用して、ユーザー入力フォームとグラフィックスをそれぞれ表す要素を反復処理することもできます。

HtmlDocumentは、Internet Explorer の DHTML DOM によって実装されるアンマネージド インターフェイスに基づいています。 IHTMLDocument``IHTMLDocument2``IHTMLDocument3``IHTMLDocument4 これらのアンマネージド インターフェイスで最もよく使用されるプロパティとメソッドのみが公開されます HtmlDocument。 プロパティを使用して DomDocument 他のすべてのプロパティとメソッドに直接アクセスできます。このプロパティは、目的のアンマネージ インターフェイス ポインターにキャストできます。

HTML ドキュメントには、コントロール内のウィンドウが異なるフレームを WebBrowser 含む場合があります。 各フレームには、独自の HTML ページが表示されます。 このコレクションは Frames 、プロパティを Window 通じて使用できます。 また、このプロパティを Window 使用して、表示されるページのサイズを変更したり、ドキュメントをスクロールしたり、アラートやプロンプトをユーザーに表示したりできます。

HtmlDocument は、HTML ページをホストするときに処理する予定の最も一般的なイベントを公開します。 インターフェイスによって直接公開されないイベントの場合は、次を使用して AttachEventHandlerイベントのハンドラーを追加できます。

HTML ファイルには、JScriptや VBScript などのいずれかの Active Scripting 言語で記述されたコードをカプセル化するタグが含まれているSCRIPT場合があります。 このメソッドは InvokeScript 、タグで定義されたプロパティとメソッドの実行を SCRIPT 提供します。

注意

プロパティ、メソッド、イベントHtmlDocumentの大部分はアンマネージ DOM と同じ名前を保持していますが、一部は.NET Frameworkとの整合性のために変更されています。

プロパティ

ActiveElement

現在ユーザーの入力フォーカスがある HtmlElement を提供します。

ActiveLinkColor

ユーザーがハイパーリンクをクリックしたときのハイパーリンクの Color を取得または設定します。

All

HtmlElementCollection のインスタンスを取得します。これは、ドキュメントのすべての HtmlElement オブジェクトを格納します。

BackColor

HTML ドキュメントの背景色を取得または設定します。

Body

BODY タグの HtmlElement を取得します。

Cookie

このドキュメントに関連付けられている HTTP クッキーを取得または設定します。

DefaultEncoding

現在のドキュメントに既定で使用されるエンコーディングを取得します。

Domain

セキュリティのためにこのドキュメントのドメインを記述する文字列を取得または設定します。

DomDocument

この HtmlDocument のアンマネージ インターフェイスへのポインターを取得します。

Encoding

このドキュメントの文字エンコーディングを取得または設定します。

Focused

ドキュメントにユーザーの入力フォーカスがあるかどうかを示す値を取得します。

ForeColor

ドキュメントのテキストの色を取得または設定します。

Forms

ドキュメント内のすべての FORM> 要素の<コレクションを取得します。

Images

ドキュメント内のすべてのイメージ タグのコレクションを取得します。

LinkColor

ハイパーリンクの色を取得または設定します。

Links

この HTML ドキュメント内のすべてのハイパーリンクのリストを取得します。

RightToLeft

現在のドキュメントでのテキストの方向を取得または設定します。

Title

現在の HTML ドキュメントの TITLE> タグの<テキスト値を取得または設定します。

Url

このドキュメントの場所を記述する URL を取得します。

VisitedLinkColor

ユーザーが既にアクセスした HTML ページへのリンクの色を取得または設定します。

Window

このドキュメントに関連付けられている HtmlWindow を取得します。

メソッド

AttachEventHandler(String, EventHandler)

指定した HTML DOM イベントのイベント ハンドラーを追加します。

CreateElement(String)

指定した HTML タグの種類の新しい HtmlElement を作成します。

DetachEventHandler(String, EventHandler)

HTML DOM の指定したイベントからイベント ハンドラーを削除します。

Equals(Object)

指定したオブジェクトと現在のオブジェクトとを比較し、等しいかどうかをテストします。

ExecCommand(String, Boolean, Object)

ドキュメントに対して指定したコマンドを実行します。

Focus()

ユーザーの入力フォーカスを現在のドキュメントに設定します。

GetElementById(String)

要素の ID 属性を検索キーとして使用して、1 つの HtmlElement を取得します。

GetElementFromPoint(Point)

指定されたクライアント座標にある HTML 要素を取得します。

GetElementsByTagName(String)

指定した HTML タグを持つ要素のコレクションを取得します。

GetHashCode()

このオブジェクトのハッシュ コードを取得します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InvokeScript(String)

HTML ページで定義されたアクティブ スクリプト関数を実行します。

InvokeScript(String, Object[])

HTML ページで定義されたアクティブ スクリプト関数を実行します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OpenNew(Boolean)

Write(String) メソッドと共に使用する新しい HtmlDocument を取得します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Write(String)

新しい HTML ページを出力します。

演算子

Equality(HtmlDocument, HtmlDocument)

指定した HtmlDocument のインスタンスが同じ値を表しているかどうかを示す値を返します。

Inequality(HtmlDocument, HtmlDocument)

指定した HtmlDocument のインスタンスが同じ値を表していないかどうかを示す値を返します。

イベント

Click

ユーザーがドキュメント内の任意の場所をクリックしたときに発生します。

ContextMenuShowing

ユーザーがドキュメントのコンテキスト メニューの表示を要求したときに発生します。

Focusing

ドキュメントがフォーカスを得る前に発生します。

LosingFocus

コントロールからフォーカスが失われるときに発生します。

MouseDown

ユーザーがマウスの左ボタンをクリックしたときに発生します。

MouseLeave

マウスがドキュメント上から外れた時点で発生します。

MouseMove

マウスがドキュメント上を移動すると発生します。

MouseOver

マウスがドキュメント上を移動すると発生します。

MouseUp

ユーザーがマウスの左ボタンを離したときに発生します。

Stop

別の Web ページへの移動が中断されたときに発生します。

適用対象

こちらもご覧ください