WebBrowser.Document Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
HtmlDocument Lekéri a vezérlőben WebBrowser jelenleg megjelenített weblapot.
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
Tulajdonság értéke
Az HtmlDocument aktuális lapot jelképező lap, vagy null ha nincs betöltve lap.
- Attribútumok
Kivételek
Ez WebBrowser a példány már nem érvényes.
Az interfész implementációjára IWebBrowser2 mutató hivatkozás nem kérhető le az alapul szolgáló ActiveX-vezérlőből WebBrowser .
Példák
Az alábbi példakód bemutatja, hogyan használható a tulajdonság az Document esemény kezelőjében annak meghatározására Navigating , hogy kitöltött-e egy weblapűrlapot. Ha a beviteli mező nem tartalmaz értéket, a navigációs sáv megszakad.
Ez a példa megköveteli, hogy az űrlap tartalmaz egy úgynevezett vezérlőt WebBrowserwebBrowser1.
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
Megjegyzések
Ezt a tulajdonságot akkor használja, ha a HTML-dokumentum objektummodelljén (DOM) keresztül szeretné elérni a WebBrowser vezérlőelemben megjelenő weblap tartalmát. Ez például akkor hasznos, ha webes vezérlőket szeretne használni a Windows Forms alkalmazásban.
Ezt a tulajdonságot a tulajdonsággal ObjectForScripting kombinálva kétirányú kommunikációt valósíthat meg a vezérlőben és az WebBrowser alkalmazásban megjelenített weblapok között. Ezzel a módszerrel meghívhatja a HtmlDocument.InvokeScript weblapon implementált szkriptmetódusokat az ügyfélalkalmazás kódjából. A szkriptelési kód az objektumon keresztül érheti el az window.external alkalmazást, amely egy beépített DOM-objektum, amely a gazdagéphez való hozzáféréshez van adva, és amely a ObjectForScripting tulajdonsághoz megadott objektumra van leképezve.
Ha sztringként szeretné elérni egy weblap tartalmát, használja a tulajdonságot DocumentText . Ha egy weblap tartalmát szeretné elérni, használja a tulajdonságotStreamDocumentStream.