次の方法で共有


HtmlDocument クラス

定義

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

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

次のコード例では、Northwind データベースのデータを使用して、 を使用してCreateElement動的に を作成しますHTML TABLE。 メソッドAppendChildは、最初に行 (要素) にセル (TDTR 要素) を追加し、次にテーブルに行を追加し、最後に現在のドキュメントの末尾にテーブルを追加するためにも使用されます。 このコード例では、アプリケーションに という名前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 表します。 、BODYDIVFORMおよび SPAN タグは、個々HtmlElementのオブジェクトによって表されます。

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

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

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

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

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

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

注意

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

プロパティ

ActiveElement

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

ActiveLinkColor

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

All

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

BackColor

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

Body

タグの をHtmlElementBODY取得します。

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, Object[])

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

InvokeScript(String)

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 ページへの移動が中断されたときに発生します。

適用対象

こちらもご覧ください