WebBrowser.Document Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém um HtmlDocument que representa a página Web atualmente apresentada no WebBrowser controlo.
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)>]
member this.Document : System.Windows.Forms.HtmlDocument
Public ReadOnly Property Document As HtmlDocument
Valor de Propriedade
E representando HtmlDocument a página atual, ou null se nenhuma página for carregada.
- Atributos
Exceções
Esta WebBrowser situação já não é válida.
Uma referência a uma implementação da IWebBrowser2 interface não podia ser recuperada a partir do controlo ActiveX WebBrowser subjacente.
Exemplos
O exemplo de código seguinte demonstra como usar a Document propriedade num handler para o Navigating evento para determinar se um formulário de página Web foi preenchido. Se o campo de entrada não contiver um valor, a navegação é cancelada.
Este exemplo exige que a sua forma contenha um WebBrowser controlo 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
Observações
Use esta propriedade quando quiser aceder ao conteúdo de uma página Web exibido no WebBrowser controlo através do modelo de objetos do documento HTML (DOM). Isto é útil, por exemplo, quando pretende usar controlos baseados na Web na sua aplicação Windows Forms.
Pode usar esta propriedade, em combinação com a propriedade ObjectForScripting , para implementar comunicação bidirecional entre uma página Web exibida no WebBrowser controlo e a sua aplicação. Use o HtmlDocument.InvokeScript método para chamar métodos de script implementados numa página Web a partir do código da sua aplicação cliente. O seu código de scripting pode aceder à sua aplicação através do window.external objeto, que é um objeto DOM incorporado fornecido para o acesso ao host, e que é mapeado para um objeto que especifica para a ObjectForScripting propriedade.
Para aceder ao conteúdo de uma página Web como uma cadeia, use a DocumentText propriedade. Para aceder ao conteúdo de uma página Web como Stream, utilize a DocumentStream propriedade.