HTML documentとは? わかりやすく解説

HtmlDocument イベント


HtmlDocument クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

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

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public NotInheritable Class
 HtmlDocument
public sealed class HtmlDocument
public ref class HtmlDocument sealed
public final class HtmlDocument
public final class HtmlDocument
解説解説

HtmlDocument は、HTML DOM (Document Object Model) とも呼ばれる Internet Explorer のドキュメント オブジェクトのマネージ ラッパーを提供します。WebBrowser コントロールの Document プロパティを使用して、HtmlDocument のインスタンスを取得します。

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 プロパティを使用します。ActiveElement プロパティを使用すると、ユーザーの入力フォーカスがある HTML ページ上の要素の HtmlElement にアクセスできます。HTML ページ内のすべての要素には名前を割り当てることができます。All コレクションは、対応する名前をインデックスとして使用して、各 HtmlElement へのアクセスを提供します。GetElementsByTagName は、DIV や TABLE など、指定された HTML タグ名を持つすべての HtmlElement オブジェクトの HtmlElementCollection を返します。GetElementById は、指定された一意の ID に対応する単一の HtmlElement を返します。GetElementFromPoint は、指定されたマウス ポインタ座標に位置する、画面で確認できる HtmlElement を返します。

Forms コレクションおよび Images コレクションを使用して、ユーザー入力フォームまたはグラフィックスを表す要素をそれぞれ繰り返すこともできます。

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

HTML ドキュメントにはフレームが含まれている場合があります。フレームは、WebBrowser コントロール内の別のウィンドウです。各フレームには、独自の HTML ページが表示されます。Frames コレクションは、Window プロパティから使用できます。Window プロパティを使用すると、表示されたページのサイズ変更、ドキュメントのスクロール、またはユーザーへの警告およびプロンプトの表示も可能です。

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

HTML ファイルには、JScript、VBScript などのアクティブ スクリプト言語で記述されたコードをカプセル化する SCRIPT タグが含まれている場合があります。InvokeScript メソッドは、SCRIPT タグで定義されたプロパティおよびメソッドを実行します。

メモメモ

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

使用例使用例

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

Private Sub DisplayCustomersTable()
    ' Initialize the database connection.
    Dim CustomerData As New
 DataSet()
    Dim CustomerTable As DataTable

    Try
        Dim DBConn As New
 SqlConnection("Data Source=CLIENTUE;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
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);
            }
        }
    }
}
継承階層継承階層
System.Object
  System.Windows.Forms.HtmlDocument
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

HtmlDocument プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ ActiveElement 現在ユーザーの入力フォーカスがある HtmlElement を提供します。
パブリック プロパティ ActiveLinkColor ユーザーがハイパーリンクをクリックしたときのハイパーリンクの Color を取得または設定します。
パブリック プロパティ All HtmlElementCollection のインスタンスを取得します。これは、ドキュメントのすべての HtmlElement オブジェクトを格納します。
パブリック プロパティ BackColor HTML ドキュメントの背景色を取得または設定します。
パブリック プロパティ Body BODY タグの HtmlElement を取得します。
パブリック プロパティ Cookie このドキュメントに関連付けられている HTTP Cookie を取得または設定します。
パブリック プロパティ DefaultEncoding 現在のドキュメントに既定で使用されるエンコーディングを取得します。
パブリック プロパティ Domain セキュリティのためにこのドキュメントのドメインを記述する文字列を取得または設定します。
パブリック プロパティ DomDocument この HtmlDocument のアンマネージ インターフェイスへのポインタを取得します。
パブリック プロパティ Encoding このドキュメントの文字エンコーディングを取得または設定します。
パブリック プロパティ Focused ドキュメントにユーザーの入力フォーカスがあるかどうかを示す値を取得します。
パブリック プロパティ ForeColor ドキュメントのテキストの色を取得または設定します。
パブリック プロパティ Forms ドキュメント内のすべての <FORM> 要素のコレクションを取得します。
パブリック プロパティ Images ドキュメント内のすべてのイメージ タグのコレクションを取得します。
パブリック プロパティ LinkColor ハイパーリンクの色を取得または設定します。
パブリック プロパティ Links この HTML ドキュメント内のすべてのハイパーリンクのリストを取得します。
パブリック プロパティ RightToLeft 現在のドキュメントでのテキストの方向を取得または設定します。
パブリック プロパティ Title 現在の HTML ドキュメント内の <TITLE> タグのテキスト値を取得または設定します。
パブリック プロパティ Url このドキュメントの場所を記述する URL を取得します。
パブリック プロパティ VisitedLinkColor ユーザーが既にアクセスした HTML ページへのリンクの色を取得または設定します。
パブリック プロパティ Window このドキュメントに関連付けられている HtmlWindow を取得します。
参照参照

関連項目

HtmlDocument クラス
System.Windows.Forms 名前空間

その他の技術情報

document Object
IHTMLDocument2 Interface

HtmlDocument メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AttachEventHandler 指定した HTML DOM イベントのイベント ハンドラを追加します。
パブリック メソッド CreateElement 指定した HTML タグの種類の新しい HtmlElement を作成します。
パブリック メソッド DetachEventHandler HTML DOM の指定したイベントからイベント ハンドラを削除します。
パブリック メソッド Equals オーバーロードされます。 オーバーライドされます。  
パブリック メソッド ExecCommand ドキュメントに対して指定したコマンドを実行します。
パブリック メソッド Focus ユーザーの入力フォーカスを現在のドキュメントに設定します。
パブリック メソッド GetElementById 要素の ID 属性を検索キーとして使用して、1 つの HtmlElement を取得します。
パブリック メソッド GetElementFromPoint 指定されたクライアント座標にある HTML 要素を取得します。
パブリック メソッド GetElementsByTagName 指定した HTML タグを持つ要素のコレクションを取得します。
パブリック メソッド GetHashCode オーバーライドされます。  
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド InvokeScript オーバーロードされます。 HTML ページで定義されたアクティブ スクリプト関数を実行します。
パブリック メソッド スタティック スタティック OpenNew Write メソッドと共に使用する新しい HtmlDocument を取得します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
パブリック メソッド Write 新しい HTML ページを出力します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

HtmlDocument クラス
System.Windows.Forms 名前空間

その他の技術情報

document Object
IHTMLDocument2 Interface

HtmlDocument メンバ

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

HtmlDocument データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ ActiveElement 現在ユーザーの入力フォーカスがある HtmlElement を提供します。
パブリック プロパティ ActiveLinkColor ユーザーがハイパーリンクをクリックしたときのハイパーリンクの Color を取得または設定します。
パブリック プロパティ All HtmlElementCollection のインスタンスを取得します。これは、ドキュメントのすべての HtmlElement オブジェクトを格納します。
パブリック プロパティ BackColor HTML ドキュメントの背景色を取得または設定します。
パブリック プロパティ Body BODY タグの HtmlElement を取得します。
パブリック プロパティ Cookie このドキュメントに関連付けられている HTTP Cookie を取得または設定します。
パブリック プロパティ DefaultEncoding 現在のドキュメントに既定で使用されるエンコーディングを取得します。
パブリック プロパティ Domain セキュリティのためにこのドキュメントのドメインを記述する文字列を取得または設定します。
パブリック プロパティ DomDocument この HtmlDocument のアンマネージ インターフェイスへのポインタを取得します。
パブリック プロパティ Encoding このドキュメントの文字エンコーディングを取得または設定します。
パブリック プロパティ Focused ドキュメントにユーザーの入力フォーカスがあるかどうかを示す値を取得します。
パブリック プロパティ ForeColor ドキュメントのテキストの色を取得または設定します。
パブリック プロパティ Forms ドキュメント内のすべての <FORM> 要素のコレクションを取得します。
パブリック プロパティ Images ドキュメント内のすべてのイメージ タグのコレクションを取得します。
パブリック プロパティ LinkColor ハイパーリンクの色を取得または設定します。
パブリック プロパティ Links この HTML ドキュメント内のすべてのハイパーリンクのリストを取得します。
パブリック プロパティ RightToLeft 現在のドキュメントでのテキストの方向を取得または設定します。
パブリック プロパティ Title 現在の HTML ドキュメント内の <TITLE> タグのテキスト値を取得または設定します。
パブリック プロパティ Url このドキュメントの場所を記述する URL を取得します。
パブリック プロパティ VisitedLinkColor ユーザーが既にアクセスした HTML ページへのリンクの色を取得または設定します。
パブリック プロパティ Window このドキュメントに関連付けられている HtmlWindow を取得します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AttachEventHandler 指定した HTML DOM イベントのイベント ハンドラを追加します。
パブリック メソッド CreateElement 指定した HTML タグの種類の新しい HtmlElement を作成します。
パブリック メソッド DetachEventHandler HTML DOM の指定したイベントからイベント ハンドラを削除します。
パブリック メソッド Equals オーバーロードされます。 オーバーライドされます。  
パブリック メソッド ExecCommand ドキュメントに対して指定したコマンドを実行します。
パブリック メソッド Focus ユーザーの入力フォーカスを現在のドキュメントに設定します。
パブリック メソッド GetElementById 要素の ID 属性を検索キーとして使用して、1 つの HtmlElement を取得します。
パブリック メソッド GetElementFromPoint 指定されたクライアント座標にある HTML 要素を取得します。
パブリック メソッド GetElementsByTagName 指定した HTML タグを持つ要素のコレクションを取得します。
パブリック メソッド GetHashCode オーバーライドされます。  
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド InvokeScript オーバーロードされます。 HTML ページで定義されたアクティブ スクリプト関数を実行します。
パブリック メソッド スタティック スタティック OpenNew Write メソッドと共に使用する新しい HtmlDocument を取得します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
パブリック メソッド Write 新しい HTML ページを出力します。
プロテクト メソッドプロテクト メソッド
パブリック イベントパブリック イベント
参照参照

関連項目

HtmlDocument クラス
System.Windows.Forms 名前空間

その他の技術情報

document Object
IHTMLDocument2 Interface



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「HTML document」の関連用語

HTML documentのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HTML documentのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS