WebBrowser.Document Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma HtmlDocument representação da página da Web exibida atualmente no WebBrowser controle.
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 da propriedade
Uma HtmlDocument representação da página atual ou null se nenhuma página for carregada.
- Atributos
Exceções
Essa WebBrowser instância não é mais válida.
Não foi possível recuperar uma referência a uma implementação da IWebBrowser2 interface do controle ActiveX WebBrowser subjacente.
Exemplos
O exemplo de código a seguir demonstra como usar a Document propriedade em um manipulador para o Navigating evento para determinar se um formulário de página da Web foi preenchido. Se o campo de entrada não contiver um valor, a navegação será cancelada.
Este exemplo requer que seu formulário contenha um WebBrowser controle chamado 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
Comentários
Use essa propriedade quando quiser acessar o conteúdo de uma página da Web exibida no WebBrowser controle por meio do DOM (modelo de objeto de documento HTML). Isso é útil, por exemplo, quando você deseja usar controles baseados na Web em seu aplicativo do Windows Forms.
Você pode usar essa propriedade, em combinação com a ObjectForScripting propriedade, para implementar a comunicação bidirecional entre uma página da WebBrowser Web exibida no controle e no aplicativo. Use o HtmlDocument.InvokeScript método para chamar métodos de script implementados em uma página da Web do código do aplicativo cliente. O código de script pode acessar seu aplicativo por meio do window.external objeto, que é um objeto DOM interno fornecido para acesso ao host e que é mapeado para um objeto que você especifica para a ObjectForScripting propriedade.
Para acessar o conteúdo de uma página da Web como uma cadeia de caracteres, use a DocumentText propriedade. Para acessar o conteúdo de uma página da Web como um Stream, use a DocumentStream propriedade.