Udostępnij za pośrednictwem


WebBrowser.Document Właściwość

Definicja

Pobiera reprezentację HtmlDocument strony sieci Web aktualnie wyświetlanej w kontrolce WebBrowser .

public:
 property System::Windows::Forms::HtmlDocument ^ Document { System::Windows::Forms::HtmlDocument ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.HtmlDocument Document { get; }
[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.HtmlDocument? Document { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Document : System.Windows.Forms.HtmlDocument
Public ReadOnly Property Document As HtmlDocument

Wartość właściwości

Reprezentująca bieżącą stronę lub null jeśli żadna HtmlDocument strona nie zostanie załadowana.

Atrybuty

Wyjątki

To WebBrowser wystąpienie nie jest już prawidłowe.

Nie można pobrać odwołania do implementacji interfejsu IWebBrowser2 z bazowego formantu ActiveX WebBrowser .

Przykłady

Poniższy przykład kodu pokazuje, jak używać Document właściwości w procedurze obsługi dla Navigating zdarzenia w celu określenia, czy formularz strony sieci Web został wypełniony. Jeśli pole wejściowe nie zawiera wartości, nawigacja zostanie anulowana.

Ten przykład wymaga, aby formularz zawierał kontrolkę WebBrowser o nazwie 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

Uwagi

Użyj tej właściwości, jeśli chcesz uzyskać dostęp do zawartości strony sieci Web wyświetlanej w kontrolce WebBrowser za pośrednictwem modelu obiektów dokumentów HTML (DOM). Jest to przydatne, na przykład jeśli chcesz używać kontrolek opartych na sieci Web w aplikacji Windows Forms.

Tej właściwości można użyć w połączeniu ObjectForScripting z właściwością, aby zaimplementować dwukierunkową komunikację między stroną internetową wyświetlaną w kontrolce WebBrowser i aplikacji. HtmlDocument.InvokeScript Użyj metody , aby wywołać metody skryptów zaimplementowane na stronie internetowej z kodu aplikacji klienckiej. Kod skryptowy może uzyskiwać dostęp do aplikacji za pośrednictwem window.external obiektu, który jest wbudowanym obiektem DOM udostępnianym na potrzeby dostępu do hosta i który mapuje na obiekt określony dla ObjectForScripting właściwości.

Aby uzyskać dostęp do zawartości strony sieci Web jako ciągu, użyj DocumentText właściwości . Aby uzyskać dostęp do zawartości strony sieci Web jako Streamobiektu , użyj DocumentStream właściwości .

Dotyczy

Zobacz też