Поделиться через


WebBrowser.Document Свойство

Определение

Получает объект HtmlDocument, представляющий веб-страницу, отображаемую в текущий момент в элементе управления 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

Значение свойства

Объект HtmlDocument, представляющий текущую страницу, или значение null, если страница не загружается.

Атрибуты

Исключения

Данный экземпляр WebBrowser больше не действителен.

Не удается получить ссылку на реализацию интерфейса IWebBrowser2 из базового элемента управления ActiveX WebBrowser.

Примеры

В следующем примере кода показано, как использовать Document свойство в обработчике Navigating события, чтобы определить, заполнена ли форма веб-страницы. Если поле ввода не содержит значения, навигация отменяется.

В этом примере требуется, чтобы форма содержала WebBrowser элемент управления с именем 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

Комментарии

Используйте это свойство, если требуется получить доступ к содержимому веб-страницы, отображаемой в элементе WebBrowser управления, через объектную модель HTML-документа (DOM). Это полезно, например, если вы хотите использовать веб-элементы управления в приложении Windows Forms.

Это свойство можно использовать в сочетании со свойством ObjectForScripting для реализации двустороннего взаимодействия между веб-страницей, отображаемой в элементе WebBrowser управления, и приложением. Используйте метод для HtmlDocument.InvokeScript вызова методов скрипта, реализованных на веб-странице из кода клиентского приложения. Код скрипта может получить доступ к приложению через window.external объект , который является встроенным объектом DOM, предоставляемым для доступа к узлу, и сопоставляется с объектом, указанным для ObjectForScripting свойства .

Чтобы получить доступ к содержимому веб-страницы в виде строки, используйте DocumentText свойство . Чтобы получить доступ к содержимому веб-страницы в Streamвиде , используйте DocumentStream свойство .

Применяется к

См. также раздел