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í.
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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro