WebBrowser.Document Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en HtmlDocument som representerar webbsidan som för närvarande visas i WebBrowser kontrollen.
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
Egenskapsvärde
En HtmlDocument som representerar den aktuella sidan eller null om ingen sida läses in.
- Attribut
Undantag
Den här WebBrowser instansen är inte längre giltig.
Det gick inte att hämta en referens till en implementering av IWebBrowser2 gränssnittet från den underliggande ActiveX-kontrollen WebBrowser .
Exempel
I följande kodexempel visas hur du använder Document egenskapen i en hanterare för händelsen för Navigating att avgöra om ett webbsideformulär har fyllts i. Om indatafältet inte innehåller något värde avbryts navigeringen.
Det här exemplet kräver att formuläret innehåller en WebBrowser kontroll med namnet 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
Kommentarer
Använd den här egenskapen när du vill komma åt innehållet på en webbsida som visas i WebBrowser kontrollen via HTML-dokumentobjektmodellen (DOM). Detta är till exempel användbart när du vill använda webbaserade kontroller i ditt Windows Forms program.
Du kan använda den här egenskapen, i kombination med ObjectForScripting egenskapen, för att implementera dubbelriktad kommunikation mellan en webbsida som visas i WebBrowser kontrollen och ditt program.
HtmlDocument.InvokeScript Använd metoden för att anropa skriptmetoder som implementerats på en webbsida från klientprogramkoden. Skriptkoden kan komma åt ditt program via window.external objektet, som är ett inbyggt DOM-objekt som tillhandahålls för värdåtkomst och som mappar till ett objekt som du anger för ObjectForScripting egenskapen.
Om du vill komma åt innehållet på en webbsida som en sträng använder du DocumentText egenskapen . Om du vill komma åt innehållet på en webbsida som en Streamanvänder du DocumentStream egenskapen .