次の方法で共有


方法: マネージド HTML ドキュメント オブジェクト モデルにアクセスする

マネージド HTML ドキュメント オブジェクト モデル (DOM) には、次の 2 種類のアプリケーションからアクセスできます。

  • マネージド WebBrowser コントロールをホストした Windows フォーム アプリケーション (.exe)。 これら 2 つのテクノロジは互いに補完し合い、WebBrowser コントロールはページをユーザーに表示し、HTML DOM はドキュメントの論理構造を表します。

  • Internet Explorer 内でホストされている Windows フォーム UserControl。 ドキュメントの構造を変更したりモーダル ダイアログ ボックスを開いたりするために、UserControl がホストされているページを表す HTML DOM にアクセスできます。

Windows フォーム アプリケーションから DOM にアクセスするには

  1. Windows フォーム アプリケーション内で WebBrowser コントロールをホストし、DocumentCompleted イベントを監視します。 イベントのホスティング管理と監視の詳細については、「イベント」を参照してください。

  2. WebBrowser コントロールの Document プロパティにアクセスして、現在のページの HtmlDocument を取得します。

Internet Explorer でホストされている UserControl から DOM にアクセスするには

  1. UserControl クラスの独自のカスタム派生クラスを作成します。 詳細については、「方法: 複合コントロールを作成する」を参照してください。

  2. 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

堅牢なプログラミング

  1. WebBrowser コントロールを介して DOM を使用する場合は、WebBrowser コントロールの Document プロパティにアクセスする前に、DocumentCompleted イベントが発生するまで常に待機する必要があります。 DocumentCompleted イベントは、ドキュメント全体が読み込まれた後に発生します。その前に DOM を使用すると、アプリケーションで実行時例外が発生するリスクがあります。

.NET Framework のセキュリティ

  1. アプリケーションまたは UserControl は、マネージド HTML DOM にアクセスするために完全な信頼を必要とします。 ClickOnce を使用して Windows フォーム アプリケーションを配置する場合は、アクセス許可の昇格または信頼されたアプリケーション配置を使用して完全信頼を要求できます。詳細については、「ClickOnce アプリケーション のセキュリティ保護」を参照してください。

関連項目