次の方法で共有


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

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

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

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

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

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

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

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

.NET Framework のセキュリティ

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

こちらも参照ください