WebBrowser.Document Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 .