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 objeto HtmlDocument que representa la página web que se muestra actualmente en el WebBrowser control .
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
que HtmlDocument representa la página actual o null si no se carga ninguna página.
- Atributos
Excepciones
Esta WebBrowser instancia ya no es válida.
No se pudo recuperar una referencia a una implementación de la IWebBrowser2 interfaz 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
Use 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 quiere 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 mostrada en el WebBrowser control y la 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 acceder al contenido de una página web como una cadena, use la DocumentText propiedad . Para acceder al contenido de una página web como Stream, use la DocumentStream propiedad .