HtmlDocument Classe

Definizione

Fornisce l'accesso a livello di codice al primo livello della struttura di un documento HTML contenuto nel controllo WebBrowser.Provides top-level programmatic access to an HTML document hosted by the WebBrowser control.

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
Ereditarietà
HtmlDocument

Esempio

Nell'esempio di codice seguente vengono utilizzati i dati del database Northwind per creare un oggetto HTML TABLE utilizzando dinamicamente CreateElement .The following code example uses data from the Northwind database to create an HTML TABLE dynamically using CreateElement. AppendChildViene inoltre utilizzato il metodo, innanzitutto per aggiungere celle ( TD elementi) a righe ( TR elementi), quindi per aggiungere righe alla tabella e infine per aggiungere la tabella alla fine del documento corrente.The AppendChild method is also used, first to add cells (TD elements) to rows (TR elements), then to add rows to the table, and finally to append the table to the end of the current document. Per l'esempio di codice è necessario che l'applicazione disponga di un WebBrowser controllo denominato WebBrowser1 .The code example requires that your application has a WebBrowser control named WebBrowser1. Il codice deve essere chiamato dopo il caricamento di un documento.The code should be called after a document has been loaded.

private void DisplayCustomersTable()
{
    DataSet customersSet = new DataSet();
    DataTable customersTable = null;
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
    sda.Fill(customersTable);
    customersTable = customersSet.Tables[0];

    if (webBrowser1.Document != null)
    {
        HtmlElement tableRow = null;
        HtmlElement headerElem = null;

        HtmlDocument doc = webBrowser1.Document;
        HtmlElement tableElem = doc.CreateElement("TABLE");
        doc.Body.AppendChild(tableElem);

        HtmlElement tableHeader = doc.CreateElement("THEAD");
        tableElem.AppendChild(tableHeader);
        tableRow = doc.CreateElement("TR");
        tableHeader.AppendChild(tableRow);

        foreach (DataColumn col in customersTable.Columns)
        {
            headerElem = doc.CreateElement("TH");
            headerElem.InnerText = col.ColumnName;
            tableRow.AppendChild(headerElem);
        }

        // Create table rows.
        HtmlElement tableBody = doc.CreateElement("TBODY");
        tableElem.AppendChild(tableBody);
        foreach (DataRow dr in customersTable.Rows)
        {
            tableRow = doc.CreateElement("TR");
            tableBody.AppendChild(tableRow);
            foreach (DataColumn col in customersTable.Columns)
            {
                Object dbCell = dr[col];
                HtmlElement tableCell = doc.CreateElement("TD");
                if (!(dbCell is DBNull))
                {
                    tableCell.InnerText = dbCell.ToString();
                }
                tableRow.AppendChild(tableCell);
            }
        }
    }
}
Private Sub DisplayCustomersTable()
    ' Initialize the database connection.
    Dim CustomerData As New DataSet()
    Dim CustomerTable As DataTable

    Try
        Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
        Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
        DBQuery.Fill(CustomerData)
    Catch dbEX As DataException

    End Try

    CustomerTable = CustomerData.Tables("Customers")

    If (Not (WebBrowser1.Document Is Nothing)) Then
        With WebBrowser1.Document
            Dim TableElem As HtmlElement = .CreateElement("TABLE")
            .Body.AppendChild(TableElem)

            Dim TableRow As HtmlElement

            ' Create the table header. 
            Dim TableHeader As HtmlElement = .CreateElement("THEAD")
            TableElem.AppendChild(TableHeader)
            TableRow = .CreateElement("TR")
            TableHeader.AppendChild(TableRow)

            Dim HeaderElem As HtmlElement
            For Each Col As DataColumn In CustomerTable.Columns
                HeaderElem = .CreateElement("TH")
                HeaderElem.InnerText = Col.ColumnName
                TableRow.AppendChild(HeaderElem)
            Next

            ' Create table rows.
            Dim TableBody As HtmlElement = .CreateElement("TBODY")
            TableElem.AppendChild(TableBody)
            For Each Row As DataRow In CustomerTable.Rows
                TableRow = .CreateElement("TR")
                TableBody.AppendChild(TableRow)
                For Each Col As DataColumn In CustomerTable.Columns
                    Dim Item As Object = Row(Col)
                    Dim TableCell As HtmlElement = .CreateElement("TD")
                    If Not (TypeOf (Item) Is DBNull) Then
                        TableCell.InnerText = CStr(Item)
                    End If
                    TableRow.AppendChild(TableCell)
                Next
            Next

        End With
    End If
End Sub

Commenti

HtmlDocument fornisce un wrapper gestito per l'oggetto documento di Internet Explorer, noto anche come HTML Document Object Model (DOM).HtmlDocument provides a managed wrapper around Internet Explorer's document object, also known as the HTML Document Object Model (DOM). È possibile ottenere un'istanza di HtmlDocument tramite la Document proprietà del WebBrowser controllo.You obtain an instance of HtmlDocument through the Document property of the WebBrowser control.

I tag HTML all'interno di un documento HTML possono essere annidati tra loro.HTML tags inside of an HTML document can be nested inside one another. HtmlDocument rappresenta pertanto un albero del documento i cui elementi figlio sono istanze della HtmlElement classe.HtmlDocument thus represents a document tree, whose children are instances of the HtmlElement class. Nell'esempio di codice seguente viene illustrato un semplice file HTML.The following code example shows a simple HTML file.

<HTML>  
    <BODY>  
        <DIV name="Span1">Simple HTML Form</DIV>  
        <FORM>  
            <SPAN name="TextLabel">Enter Your Name:</SPAN>  
            <INPUT type="text" size="20" name="Text1">  
        </FORM>  
    </BODY>  
</HTML>  

In questo esempio, HtmlDocument rappresenta l'intero documento all'interno dei HTML tag.In this example, HtmlDocument represents the entire document inside the HTML tags. I BODY DIV tag, FORM e SPAN sono rappresentati da singoli HtmlElement oggetti.The BODY, DIV, FORM and SPAN tags are represented by individual HtmlElement objects.

È possibile accedere agli elementi di questo albero in diversi modi.There are several ways you can access the elements in this tree. Utilizzare la Body proprietà per accedere al BODY tag e a tutti i relativi elementi figlio.Use the Body property to access the BODY tag and all of its children. La ActiveElement proprietà fornisce l'oggetto HtmlElement per l'elemento in una pagina HTML con lo stato attivo per l'input dell'utente.The ActiveElement property gives you the HtmlElement for the element on an HTML page that has user input focus. Tutti gli elementi all'interno di una pagina HTML possono avere un nome; la All raccolta fornisce l'accesso a ogni oggetto HtmlElement utilizzando il relativo nome come indice.All elements within an HTML page can have a name; the All collection provides access to each HtmlElement using its name as an index. GetElementsByTagName restituirà un oggetto HtmlElementCollection di tutti HtmlElement gli oggetti con un nome di tag HTML specificato, ad esempio DIV o TABLE .GetElementsByTagName will return an HtmlElementCollection of all HtmlElement objects with a given HTML tag name, such as DIV or TABLE. GetElementById restituirà il singolo oggetto HtmlElement corrispondente all'ID univoco fornito.GetElementById will return the single HtmlElement corresponding to the unique ID that you supply. GetElementFromPoint restituirà l'oggetto HtmlElement che è possibile trovare sullo schermo in corrispondenza delle coordinate del puntatore del mouse fornite.GetElementFromPoint will return the HtmlElement that can be found on the screen at the supplied mouse pointer coordinates.

È anche possibile usare la Forms Images raccolta and per scorrere gli elementi che rappresentano rispettivamente i form e le immagini di input dell'utente.You can also use the Forms and Images collection to iterate through elements that represent user input forms and graphics, respectively.

HtmlDocument si basa sulle interfacce non gestite implementate dal DOM DHTML di Internet Explorer: IHTMLDocument ,, IHTMLDocument2 IHTMLDocument3 e IHTMLDocument4 .HtmlDocument is based on the unmanaged interfaces implemented by Internet Explorer's DHTML DOM: IHTMLDocument, IHTMLDocument2, IHTMLDocument3, and IHTMLDocument4. Solo le proprietà e i metodi usati più di frequente su queste interfacce non gestite sono esposti da HtmlDocument .Only the most frequently used properties and methods on these unmanaged interfaces are exposed by HtmlDocument. È possibile accedere a tutte le altre proprietà e metodi direttamente usando la DomDocument proprietà, di cui è possibile eseguire il cast al puntatore a interfaccia non gestita desiderato.You can access all other properties and methods directly using the DomDocument property, which you can cast to the desired unmanaged interface pointer.

Un documento HTML può contenere frame, che sono finestre diverse all'interno del WebBrowser controllo.An HTML document may contain frames, which are different windows inside of the WebBrowser control. Ogni frame Visualizza la propria pagina HTML.Each frame displays its own HTML page. La Frames raccolta è disponibile tramite la Window Proprietà.The Frames collection is available through the Window property. È anche possibile usare la Window proprietà per ridimensionare la pagina visualizzata, scorrere il documento o visualizzare avvisi e richieste all'utente.You may also use the Window property to resize the displayed page, scroll the document, or display alerts and prompts to the user.

HtmlDocument espone gli eventi più comuni che si prevede di gestire quando si ospitano pagine HTML.HtmlDocument exposes the most common events you would expect to handle when hosting HTML pages. Per gli eventi non esposti direttamente dall'interfaccia, è possibile aggiungere un gestore per l'evento usando AttachEventHandler .For events not exposed directly by the interface, you can add a handler for the event using AttachEventHandler.

I file HTML possono contenere SCRIPT tag che incapsulano il codice scritto in uno dei linguaggi di scripting, ad esempio JScript o VBScript.HTML files may contain SCRIPT tags that encapsulate code written in one of the Active Scripting languages, such as JScript or VBScript. Il InvokeScript metodo fornisce l'esecuzione di proprietà e metodi definiti in un SCRIPT tag.The InvokeScript method provides for execution of properties and methods defined in a SCRIPT tag.

Nota

Mentre la maggior parte delle proprietà, dei metodi e degli eventi di HtmlDocument hanno mantenuto gli stessi nomi di quelli presenti nel DOM non gestito, alcuni sono stati modificati per coerenza con .NET Framework.NET Framework .While most of the properties, methods, and events on HtmlDocument have kept the same names as they have on the unmanaged DOM, some have been changed for consistency with the .NET Framework.NET Framework.

Proprietà

ActiveElement

Fornisce l'oggetto HtmlElement che ha attualmente lo stato attivo per l'input dell'utente.Provides the HtmlElement which currently has user input focus.

ActiveLinkColor

Ottiene o imposta l'oggetto Color di un collegamento ipertestuale quando un utente vi fa clic.Gets or sets the Color of a hyperlink when clicked by a user.

All

Ottiene un'istanza di HtmlElementCollection, in cui sono memorizzati tutti gli oggetti HtmlElement per il documento.Gets an instance of HtmlElementCollection, which stores all HtmlElement objects for the document.

BackColor

Ottiene o imposta il colore di sfondo del documento HTML.Gets or sets the background color of the HTML document.

Body

Ottiene l'oggetto HtmlElement per il tag BODY.Gets the HtmlElement for the BODY tag.

Cookie

Ottiene o imposta i cookie HTTP associati al documento corrente.Gets or sets the HTTP cookies associated with this document.

DefaultEncoding

Ottiene la codifica usata per impostazione predefinita nel documento corrente.Gets the encoding used by default for the current document.

Domain

Ottiene o imposta la stringa che descrive il dominio del documento corrente, a scopo di sicurezza.Gets or sets the string describing the domain of this document for security purposes.

DomDocument

Ottiene il puntatore a interfaccia non gestita per HtmlDocument.Gets the unmanaged interface pointer for this HtmlDocument.

Encoding

Ottiene o imposta la codifica dei caratteri per il documento corrente.Gets or sets the character encoding for this document.

Focused

Ottiene un valore che indica se il documento dispone dello stato attivo per l'input dell'utente.Gets a value indicating whether the document has user input focus.

ForeColor

Ottiene o imposta il colore del testo del documento.Gets or sets the text color for the document.

Forms

Ottiene una raccolta di tutti gli elementi del < form > nel documento.Gets a collection of all of the <FORM> elements in the document.

Images

Ottiene una raccolta di tutti i tag di immagine nel documento.Gets a collection of all image tags in the document.

LinkColor

Ottiene o imposta il colore dei collegamenti ipertestuali.Gets or sets the color of hyperlinks.

Links

Ottiene un elenco di tutti i collegamenti ipertestuali nel documento HTML corrente.Gets a list of all the hyperlinks within this HTML document.

RightToLeft

Ottiene o imposta la direzione del testo nel documento corrente.Gets or sets the direction of text in the current document.

Title

Ottiene o imposta il valore di testo del tag < title > nel documento HTML corrente.Gets or sets the text value of the <TITLE> tag in the current HTML document.

Url

Ottiene l'URL che descrive la posizione del documento corrente.Gets the URL describing the location of this document.

VisitedLinkColor

Ottiene o imposta il colore dei collegamenti alle pagine HTML che l'utente ha già visitato.Gets or sets the Color of links to HTML pages that the user has already visited.

Window

Ottiene l'oggetto HtmlWindow associato al documento corrente.Gets the HtmlWindow associated with this document.

Metodi

AttachEventHandler(String, EventHandler)

Aggiunge un gestore eventi per l'evento HTML DOM specificato.Adds an event handler for the named HTML DOM event.

CreateElement(String)

Crea un nuovo elemento HtmlElement del tipo di tag HTML specificato.Creates a new HtmlElement of the specified HTML tag type.

DetachEventHandler(String, EventHandler)

Rimuove un gestore eventi da un evento specifico in HTML DOM.Removes an event handler from a named event on the HTML DOM.

Equals(Object)

Verifica l'uguaglianza dell'oggetto relativamente a quello corrente.Tests the object for equality against the current object.

ExecCommand(String, Boolean, Object)

Esegue il comando specificato sul documento.Executes the specified command against the document.

Focus()

Imposta lo stato attivo per l'input dell'utente sul documento corrente.Sets user input focus on the current document.

GetElementById(String)

Recupera un singolo oggetto HtmlElement usando l'attributo ID dell'elemento come chiave di ricerca.Retrieves a single HtmlElement using the element's ID attribute as a search key.

GetElementFromPoint(Point)

Recupera l'elemento HTML nella posizione indicata dalle coordinate client specificate.Retrieves the HTML element located at the specified client coordinates.

GetElementsByTagName(String)

Recupera una raccolta di elementi con il tag HTML specificato.Retrieve a collection of elements with the specified HTML tag.

GetHashCode()

Recupera il codice hash per questo oggetto.Retrieves the hash code for this object.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InvokeScript(String)

Esegue una funzione di scripting definita in una pagina HTML.Executes an Active Scripting function defined in an HTML page.

InvokeScript(String, Object[])

Esegue una funzione di scripting definita in una pagina HTML.Executes an Active Scripting function defined in an HTML page.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OpenNew(Boolean)

Ottiene un nuovo oggetto HtmlDocument da usare con il metodo Write(String).Gets a new HtmlDocument to use with the Write(String) method.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
Write(String)

Scrive una nuova pagina HTML.Writes a new HTML page.

Operatori

Equality(HtmlDocument, HtmlDocument)

Restituisce un valore che indica se le istanze di HtmlDocument specificate rappresentano lo stesso valore.Returns a value that indicates whether the specified HtmlDocument instances represent the same value.

Inequality(HtmlDocument, HtmlDocument)

Restituisce un valore che indica se le istanze di HtmlDocument specificate non rappresentano lo stesso valore.Returns a value that indicates whether the specified HtmlDocument instances do not represent the same value.

Eventi

Click

Si verifica quando l'utente fa clic in un qualsiasi punto del documento.Occurs when the user clicks anywhere on the document.

ContextMenuShowing

Si verifica quando l'utente richiede la visualizzazione del menu contestuale del documento.Occurs when the user requests to display the document's context menu.

Focusing

Si verifica prima che lo stato attivo venga assegnato al documento.Occurs before focus is given to the document.

LosingFocus

Si verifica quando un controllo sta perdendo lo stato attivo.Occurs while focus is leaving a control.

MouseDown

Si verifica quando l'utente fa clic con il pulsante sinistro del mouse.Occurs when the user clicks the left mouse button.

MouseLeave

Si verifica quando il mouse non è più posizionato sul documento.Occurs when the mouse is no longer hovering over the document.

MouseMove

Si verifica quando il puntatore del mouse viene spostato sul documento.Occurs when the mouse is moved over the document.

MouseOver

Si verifica quando il puntatore del mouse viene spostato sul documento.Occurs when the mouse is moved over the document.

MouseUp

Si verifica quando l'utente rilascia il pulsante sinistro del mouse.Occurs when the user releases the left mouse button.

Stop

Si verifica quando la navigazione in un'altra pagina Web viene interrotta.Occurs when navigation to another Web page is halted.

Si applica a

Vedi anche