Sdílet prostřednictvím


WebBrowser.Document Vlastnost

Definice

HtmlDocument Získá představující 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ředstavující 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 ze základní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, bude navigace zrušena.

Tento příklad vyžaduje, aby formulář obsahoval WebBrowser ovládací prvek 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 když chcete použít webové ovládací prvky v aplikaci Modelu Windows Forms.

Tuto vlastnost můžete v kombinaci s ObjectForScripting vlastností použít 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 Stream, použijte DocumentStream vlastnost .

Platí pro

Viz také