Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Classe HtmlDocument

Fornisce l'accesso a livello di codice al primo livello della struttura di un documento HTML contenuto nel controllo WebBrowser.

System.Object
  System.Windows.Forms.HtmlDocument

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public sealed class HtmlDocument

Il tipo HtmlDocument espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaActiveElementFornisce l'oggetto HtmlElement che ha attualmente lo stato attivo per l'input dell'utente.
Proprietà pubblicaActiveLinkColorOttiene o imposta l'oggetto Color di un collegamento ipertestuale quando viene fatto clic da un utente.
Proprietà pubblicaAllOttiene un'istanza di HtmlElementCollection, in cui sono memorizzati tutti gli oggetti HtmlElement per il documento.
Proprietà pubblicaBackColorOttiene o imposta il colore di sfondo del documento HTML.
Proprietà pubblicaBodyOttiene l'oggetto HtmlElement per il tag BODY.
Proprietà pubblicaCookieOttiene o imposta i cookie HTTP associati al documento corrente.
Proprietà pubblicaDefaultEncodingOttiene la codifica utilizzata per impostazione predefinita nel documento corrente.
Proprietà pubblicaDomainOttiene o imposta la stringa che descrive il dominio del documento corrente, a scopo di sicurezza.
Proprietà pubblicaDomDocumentOttiene il puntatore a interfaccia non gestita per HtmlDocument.
Proprietà pubblicaEncodingOttiene o imposta la codifica dei caratteri per il documento corrente.
Proprietà pubblicaFocusedOttiene un valore che indica se il documento dispone dello stato attivo per l'input dell'utente.
Proprietà pubblicaForeColorOttiene o imposta il colore del testo del documento.
Proprietà pubblicaFormsOttiene un insieme di tutti gli elementi <FORM> nel documento.
Proprietà pubblicaImagesOttiene un insieme di tutti i tag di immagine nel documento.
Proprietà pubblicaLinkColorOttiene o imposta il colore dei collegamenti ipertestuali.
Proprietà pubblicaLinksOttiene un elenco di tutti i collegamenti ipertestuali nel documento HTML corrente.
Proprietà pubblicaRightToLeftOttiene o imposta la direzione del testo nel documento corrente.
Proprietà pubblicaTitleOttiene o imposta il valore del testo del tag <TITLE> nel documento HTML corrente.
Proprietà pubblicaUrlOttiene l'URL che descrive la posizione del documento corrente.
Proprietà pubblicaVisitedLinkColorOttiene o imposta il colore dei collegamenti alle pagine HTML che l'utente ha già visitato.
Proprietà pubblicaWindowOttiene l'oggetto HtmlWindow associato al documento corrente.
In alto

  NomeDescrizione
Metodo pubblicoAttachEventHandlerAggiunge un gestore eventi per l'evento HTML DOM specificato.
Metodo pubblicoCreateElementCrea un nuovo elemento HtmlElement del tipo di tag HTML specificato.
Metodo pubblicoDetachEventHandlerRimuove un gestore eventi da un evento specifico in HTML DOM.
Metodo pubblicoEqualsDetermina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Esegue l'override di Object.Equals(Object)).
Metodo pubblicoExecCommandEsegue il comando specificato sul documento.
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoFocusImposta lo stato attivo per l'input dell'utente sul documento corrente.
Metodo pubblicoGetElementByIdRecupera un singolo oggetto HtmlElement utilizzando l'attributo ID dell'elemento come chiave di ricerca.
Metodo pubblicoGetElementFromPointRecupera l'elemento HTML nella posizione indicata dalle coordinate client specificate.
Metodo pubblicoGetElementsByTagNameRecupera un insieme di elementi con il tag HTML specificato.
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Esegue l'override di Object.GetHashCode()).
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoInvokeScript(String)Esegue una funzione di scripting definita in una pagina HTML.
Metodo pubblicoInvokeScript(String, Object[])Esegue una funzione di scripting definita in una pagina HTML.
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoOpenNewOttiene un nuovo oggetto HtmlDocument da utilizzare con il metodo Write.
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblicoWriteScrive una nuova pagina HTML.
In alto

  NomeDescrizione
Evento pubblicoClickSi verifica quando l'utente fa clic in un qualsiasi punto del documento.
Evento pubblicoContextMenuShowingSi verifica quando l'utente richiede la visualizzazione del menu di scelta rapida del documento.
Evento pubblicoFocusingSi verifica prima che lo stato attivo venga assegnato al documento.
Evento pubblicoLosingFocusSi verifica quando un controllo sta perdendo lo stato attivo.
Evento pubblicoMouseDownSi verifica quando l'utente fa clic con il pulsante sinistro del mouse.
Evento pubblicoMouseLeaveSi verifica quando il mouse non è più posizionato sul documento.
Evento pubblicoMouseMoveSi verifica quando il puntatore del mouse viene spostato sul documento.
Evento pubblicoMouseOverSi verifica quando il puntatore del mouse viene spostato sul documento.
Evento pubblicoMouseUpSi verifica quando l'utente rilascia il pulsante sinistro del mouse.
Evento pubblicoStopSi verifica quando la navigazione in un'altra pagina Web viene interrotta.
In alto

  NomeDescrizione
Operatore pubblicoMembro staticoEqualityRestituisce un valore che indica se le istanze di HtmlDocument specificate rappresentano lo stesso valore.
Operatore pubblicoMembro staticoInequalityRestituisce un valore che indica se le istanze di HtmlDocument specificate non rappresentano lo stesso valore.
In alto

HtmlDocument fornisce un wrapper gestito per un oggetto documento di Internet Explorer, detto anche HTML DOM (Document Object Model). È possibile ottenere un'istanza di HtmlDocument utilizzando la proprietà Document del controllo WebBrowser.

In un documento HTML i tag HTML possono essere annidati all'interno di altri tag HTML. HtmlDocument rappresenta quindi la struttura ad albero del documento, nella quale i figli sono istanze della classe HtmlElement. Nell'esempio di codice riportato di seguito viene illustrato un semplice file HTML.

<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 tag HTML. I tag BODY, DIV, FORM e SPAN sono rappresentati da singoli oggetti HtmlElement.

Esistono diversi modi per accedere agli elementi di questa struttura ad albero. Utilizzare la proprietà Body per accedere al tag BODY e a tutti i rispettivi figli. La proprietà ActiveElement contiene l'oggetto HtmlElement relativo all'elemento in una pagina HTML a cui è assegnato lo stato attivo per l'input dell'utente. Tutti gli elementi all'interno di una pagina HTML possono avere un nome; l'insieme All fornisce l'accesso a ogni oggetto HtmlElement utilizzando il nome come indice. Il metodo GetElementsByTagName restituirà un insieme HtmlElementCollection di tutti gli oggetti HtmlElement con un determinato nome di tag HTML, ad esempio DIV o TABLE. Il metodo GetElementById restituirà il singolo oggetto HtmlElement corrispondente all'ID univoco specificato. GetElementFromPoint restituirà HtmlElement posizionato sullo schermo in corrispondenza delle coordinate del puntatore del mouse specificate.

È inoltre possibile utilizzare la proprietà Forms e l'insieme Images per scorrere gli elementi che rappresentano, rispettivamente, i form e le immagini di input dell'utente.

HtmlDocument si basa sulle interfacce non gestite implementate da DHTML DOM di Internet Explorer: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 e IHTMLDocument4. Soltanto le proprietà e i metodi più utilizzati su queste interfacce non gestite vengono esposti da HtmlDocument. È possibile accedere a tutti gli altri metodi e proprietà direttamente mediante la proprietà DomDocument, di cui è possibile eseguire il cast nel puntatore a interfaccia non gestita desiderato.

Un documento HTML può contenere frame, ossia finestre differenti all'interno del controllo WebBrowser. In ciascun frame viene visualizza una specifica pagina HTML. L'insieme Frames è disponibile tramite la proprietà Window. È inoltre possibile utilizzare la proprietà Window per ridimensionare la pagina visualizzata, scorrere il documento o visualizzare avvisi e messaggi di richiesta all'utente.

HtmlDocument espone gli eventi più comuni che devono essere gestiti quando si utilizzano pagine HTML. Per gli eventi non esposti direttamente dall'interfaccia, è possibile aggiungere un gestore per l'evento utilizzando il metodo AttachEventHandler.

I file HTML possono contenere tag SCRIPT che incapsulano il codice scritto in uno dei linguaggi di script, ad esempio JScript o VBScript. Le proprietà e i metodi definiti in un tag SCRIPT possono essere eseguiti utilizzando il metodo InvokeScript.

NotaNota

Per la maggior parte delle proprietà, dei metodi e degli eventi di HtmlDocument è stato mantenuto lo stesso nome utilizzato nel DOM non gestito. In alcuni casi, tuttavia, è stato deciso di modificare il nome per coerenza con .NET Framework.

Nell'esempio di codice riportato di seguito vengono utilizzati i dati del database Northwind per creare dinamicamente un elemento HTML TABLE con il metodo CreateElement. Viene utilizzato anche il metodo AppendChild, innanzitutto per aggiungere le celle (elementi TD) alle righe (elementi TR), quindi per aggiungere le righe alla tabella e infine per aggiungere la tabella alla fine del documento corrente. Per eseguire l'esempio di codice è necessario che nell'applicazione sia presente un controllo WebBrowser denominato WebBrowser1. Il codice deve essere chiamato dopo il caricamento di un documento.


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);
            }
        }
    }
}


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft