Language

WebBrowser.DocumentText プロパティ

定義

WebBrowser コントロールに表示されるページの HTML コンテンツを取得または設定します。

public:
 property System::String ^ DocumentText { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.Browsable(false)]
public string DocumentText { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.DocumentText : string with get, set
Public Property DocumentText As String

プロパティ値

表示されるページの HTML テキスト。ドキュメントが読み込まれていない場合は空の文字列 ("")。

属性

例外

この WebBrowser インスタンスは無効です。

IWebBrowser2 インターフェイスの実装への参照を、基になる ActiveX WebBrowser コントロールから取得できませんでした。

例

次のコード例では、 DocumentText プロパティを使用して、選択したドキュメント コンテンツをプログラムで表示する方法を示します。 この例では、フォームに WebBrowser というwebBrowser1 コントロールが含まれている必要があります。

private void Form1_Load(object sender, EventArgs e)
{
    webBrowser1.DocumentText =
        "<html><body>Please enter your name:<br/>" +
        "<input type='text' name='userName'/><br/>" +
        "<a href='http://www.microsoft.com'>continue</a>" +
        "</body></html>";
    webBrowser1.Navigating += 
        new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}

private void webBrowser1_Navigating(object sender, 
    WebBrowserNavigatingEventArgs e)
{
    System.Windows.Forms.HtmlDocument document =
        this.webBrowser1.Document;

    if (document != null && document.All["userName"] != null && 
        String.IsNullOrEmpty(
        document.All["userName"].GetAttribute("value")))
    {
        e.Cancel = true;
        System.Windows.Forms.MessageBox.Show(
            "You must enter your name before you can navigate to " +
            e.Url.ToString());
    }
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
    Handles Me.Load

    webBrowser1.DocumentText = _
        "<html><body>Please enter your name:<br/>" & _
        "<input type='text' name='userName'/><br/>" & _
        "<a href='http://www.microsoft.com'>continue</a>" & _
        "</body></html>"

End Sub

Private Sub webBrowser1_Navigating( _
    ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
    Handles webBrowser1.Navigating

    Dim document As System.Windows.Forms.HtmlDocument = _
        webBrowser1.Document
    If document IsNot Nothing And _
        document.All("userName") IsNot Nothing And _
        String.IsNullOrEmpty( _
        document.All("userName").GetAttribute("value")) Then

        e.Cancel = True
        MsgBox("You must enter your name before you can navigate to " & _
            e.Url.ToString())
    End If

End Sub

注釈

文字列処理ツールを使用して、 WebBrowser コントロールに表示される HTML ページの内容を操作する場合は、このプロパティを使用します。 たとえば、このプロパティを使用して、データベースからページを読み込んだり、正規表現を使用してページを分析したりできます。 このプロパティを設定すると、指定したテキストを読み込む前に、 WebBrowser コントロールが自動的に about:blank URL に移動します。 つまり、このプロパティを設定すると、 Navigating、 Navigated、および DocumentCompleted イベントが発生し、 Url プロパティの値が意味を持たなくなります。

Note

このプロパティには、別のドキュメントが要求された場合でも、現在のドキュメントのテキストが含まれます。 このプロパティの値を設定してからすぐに再度取得した場合、 WebBrowser コントロールに新しいコンテンツを読み込む時間がない場合、取得される値は設定された値と異なる場合があります。 DocumentCompleted イベント ハンドラーで新しい値を取得できます。 または、Thread.Sleep プロパティが最初に設定した値を返すまで、DocumentText メソッドをループで呼び出して、ドキュメントが読み込まれるまでスレッドをブロックすることもできます。

Web ページのコンテンツに Streamとしてアクセスするには、 DocumentStream プロパティを使用します。 Document プロパティを使用して、HTML ドキュメント オブジェクト モデル (DOM) を使用してページコンテンツにアクセスすることもできます。

適用対象

こちらもご覧ください