WebBrowser.Document Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un HtmlDocument que representa la página web que se muestra actualmente en el control WebBrowser.
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
Valor de propiedad
HtmlDocument que representa la página actual o null
si no se carga ninguna página.
- Atributos
Excepciones
Esta instancia de WebBrowser ya no es válida.
Una referencia a una implementación de la interfaz IWebBrowser2
no se pudo recuperar del control ActiveX WebBrowser
subyacente.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la Document propiedad en un controlador para el Navigating evento para determinar si se ha rellenado un formulario de página web. Si el campo de entrada no contiene un valor, se cancela la navegación.
En este ejemplo se requiere que el formulario contenga un WebBrowser control denominado 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
Comentarios
Utilice esta propiedad cuando desee tener acceso al contenido de una página web que se muestra en el WebBrowser control a través del modelo de objetos de documento HTML (DOM). Esto resulta útil, por ejemplo, cuando desea usar controles basados en Web en la aplicación de Windows Forms.
Puede usar esta propiedad, en combinación con la ObjectForScripting propiedad , para implementar la comunicación bidireccional entre una página web que se muestra en el control y la WebBrowser aplicación. Use el HtmlDocument.InvokeScript método para llamar a métodos de script implementados en una página web desde el código de la aplicación cliente. El código de scripting puede acceder a la aplicación a través del window.external
objeto , que es un objeto DOM integrado proporcionado para el acceso de host y que se asigna a un objeto especificado para la ObjectForScripting propiedad .
Para tener acceso al contenido de una página web como una cadena, use la DocumentText propiedad . Para tener acceso al contenido de una página web como Stream, use la DocumentStream propiedad .