HtmlDocument クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
WebBrowser コントロールでホストされている HTML ドキュメントに、トップレベルのプログラムによるアクセスを提供します。
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- 継承
-
HtmlDocument
例
次のコード例では、Northwind データベースのデータを使用して、 を使用してCreateElement動的に を作成しますHTML TABLE
。 メソッド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
プロパティを使用します。 プロパティは ActiveElement 、 HtmlElement ユーザー入力フォーカスを持つ HTML ページ上の 要素の を提供します。 HTML ページ内のすべての要素に名前を付けることができます。コレクションは All 、その名前をインデックスとして使用して、それぞれに HtmlElement アクセスを提供します。
GetElementsByTagNameは、 HtmlElementCollection や TABLE
などDIV
、指定された HTML タグ名を持つすべてのHtmlElementオブジェクトの を返します。
GetElementById は、指定した一意の ID に対応する 1 つ HtmlElement を返します。
GetElementFromPoint は、指定されたマウス ポインター座標で画面に表示される を返 HtmlElement します。
および 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 などのいずれかのアクティブ スクリプト言語で記述されたコードをカプセル化するタグが含まれている SCRIPT
場合があります。 メソッドは InvokeScript 、タグで定義されたプロパティとメソッドの実行を SCRIPT
提供します。
注意
のほとんどのプロパティ、メソッド、およびイベント HtmlDocument は、アンマネージド DOM と同じ名前を保持していますが、.NET Framework との一貫性のために変更されたものもあります。
プロパティ
ActiveElement |
現在ユーザーの入力フォーカスがある HtmlElement を提供します。 |
ActiveLinkColor |
ユーザーがハイパーリンクをクリックしたときのハイパーリンクの Color を取得または設定します。 |
All |
HtmlElementCollection のインスタンスを取得します。これは、ドキュメントのすべての HtmlElement オブジェクトを格納します。 |
BackColor |
HTML ドキュメントの背景色を取得または設定します。 |
Body |
タグの をHtmlElement |
Cookie |
このドキュメントに関連付けられている HTTP クッキーを取得または設定します。 |
DefaultEncoding |
現在のドキュメントに既定で使用されるエンコーディングを取得します。 |
Domain |
セキュリティのためにこのドキュメントのドメインを記述する文字列を取得または設定します。 |
DomDocument |
この HtmlDocument のアンマネージ インターフェイスへのポインターを取得します。 |
Encoding |
このドキュメントの文字エンコーディングを取得または設定します。 |
Focused |
ドキュメントにユーザーの入力フォーカスがあるかどうかを示す値を取得します。 |
ForeColor |
ドキュメントのテキストの色を取得または設定します。 |
Forms |
ドキュメント内のすべての要素の |
Images |
ドキュメント内のすべてのイメージ タグのコレクションを取得します。 |
LinkColor |
ハイパーリンクの色を取得または設定します。 |
Links |
この HTML ドキュメント内のすべてのハイパーリンクのリストを取得します。 |
RightToLeft |
現在のドキュメントでのテキストの方向を取得または設定します。 |
Title |
現在の HTML ドキュメントのタグのテキスト値を |
Url |
このドキュメントの場所を記述する URL を取得します。 |
VisitedLinkColor |
ユーザーが既にアクセスした HTML ページへのリンクの色を取得または設定します。 |
Window |
このドキュメントに関連付けられている HtmlWindow を取得します。 |
メソッド
AttachEventHandler(String, EventHandler) |
指定した HTML DOM イベントのイベント ハンドラーを追加します。 |
CreateElement(String) |
指定した HTML タグの種類の新しい |
DetachEventHandler(String, EventHandler) |
HTML DOM の指定したイベントからイベント ハンドラーを削除します。 |
Equals(Object) |
指定したオブジェクトと現在のオブジェクトとを比較し、等しいかどうかをテストします。 |
ExecCommand(String, Boolean, Object) |
ドキュメントに対して指定したコマンドを実行します。 |
Focus() |
ユーザーの入力フォーカスを現在のドキュメントに設定します。 |
GetElementById(String) |
要素 |
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 ページへの移動が中断されたときに発生します。 |
適用対象
こちらもご覧ください
.NET