方法: マネージド HTML ドキュメント オブジェクト モデルにアクセスする
マネージド HTML ドキュメント オブジェクト モデル (DOM) には、次の 2 種類のアプリケーションからアクセスできます。
マネージド WebBrowser コントロールをホストした Windows フォーム アプリケーション (.exe)。 これら 2 つのテクノロジは互いに補完し合い、WebBrowser コントロールはページをユーザーに表示し、HTML DOM はドキュメントの論理構造を表します。
Internet Explorer 内でホストされている Windows フォーム UserControl。 ドキュメントの構造を変更したりモーダル ダイアログ ボックスを開いたりするために、UserControl がホストされているページを表す HTML DOM にアクセスできます。
Windows フォーム アプリケーションから DOM にアクセスするには
Windows フォーム アプリケーション内で WebBrowser コントロールをホストし、DocumentCompleted イベントを監視します。 イベントのホスティング管理と監視の詳細については、「イベント」を参照してください。
WebBrowser コントロールの Document プロパティにアクセスして、現在のページの HtmlDocument を取得します。
Internet Explorer でホストされている UserControl から DOM にアクセスするには
UserControl クラスの独自のカスタム派生クラスを作成します。 詳細については、「方法: 複合コントロールを作成する」を参照してください。
UserControlの Load イベント ハンドラー内に次のコードを配置します。
HtmlDocument doc = null;
private void UserControl1_Load(object sender, EventArgs e)
{
if (this.Site != null)
{
doc = (HtmlDocument)this.Site.GetService(typeof(HtmlDocument));
}
}
Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If (Me.Site IsNot Nothing) Then
Dim Doc As HtmlDocument = CType(Me.Site.GetService(Type.GetType("System.Windows.Forms.HtmlDocument")), HtmlDocument)
End If
End Sub
堅牢なプログラミング
- WebBrowser コントロールを介して DOM を使用する場合は、WebBrowser コントロールの Document プロパティにアクセスする前に、DocumentCompleted イベントが発生するまで常に待機する必要があります。 DocumentCompleted イベントは、ドキュメント全体が読み込まれた後に発生します。その前に DOM を使用すると、アプリケーションで実行時例外が発生するリスクがあります。
.NET Framework のセキュリティ
- アプリケーションまたは UserControl は、マネージド HTML DOM にアクセスするために完全な信頼を必要とします。 ClickOnce を使用して Windows フォーム アプリケーションを配置する場合は、アクセス許可の昇格または信頼されたアプリケーション配置を使用して完全信頼を要求できます。詳細については、「ClickOnce アプリケーション のセキュリティ保護」を参照してください。
関連項目
.NET Desktop feedback