WebBrowser.Document Vlastnost

Definice

Získá představující HtmlDocument webovou stránku aktuálně zobrazenou v ovládacím WebBrowser prvku.

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

Hodnota vlastnosti

Představuje HtmlDocument aktuální stránku nebo null pokud není načtena žádná stránka.

Atributy

Výjimky

Tato WebBrowser instance již není platná.

Odkaz na implementaci IWebBrowser2 rozhraní nelze načíst z podkladového ovládacího prvku ActiveX WebBrowser .

Příklady

Následující příklad kódu ukazuje, jak použít Document vlastnost v obslužné rutině Navigating události k určení, zda byl formulář webové stránky vyplněn. Pokud vstupní pole neobsahuje hodnotu, navigace se zruší.

Tento příklad vyžaduje, aby formulář obsahoval ovládací prvek WebBrowser s názvem 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

Poznámky

Tuto vlastnost použijte, pokud chcete získat přístup k obsahu webové stránky zobrazené v ovládacím WebBrowser prvku prostřednictvím modelu DOM (Document Object Model) HTML. To je užitečné například v případě, že chcete v aplikaci model Windows Forms používat webové ovládací prvky.

Tuto vlastnost můžete použít v kombinaci s ObjectForScripting vlastností k implementaci obousměrné komunikace mezi webovou stránkou zobrazenou v ovládacím WebBrowser prvku a vaší aplikací. HtmlDocument.InvokeScript Pomocí metody můžete volat metody skriptu implementované na webové stránce z kódu klientské aplikace. Skriptovací kód může přistupovat k aplikaci prostřednictvím objektu window.external , což je předdefinovaný objekt MODELU DOM určený pro přístup hostitele a který se mapuje na objekt, který zadáte pro ObjectForScripting vlastnost.

Chcete-li získat přístup k obsahu webové stránky jako řetězec, použijte DocumentText vlastnost . Chcete-li získat přístup k obsahu webové stránky jako Streamobjekt , použijte DocumentStream vlastnost .

Platí pro

Viz také