Condividi tramite


HtmlWindowCollection Classe

Definizione

Rappresenta le finestre contenute all'interno di un altro HtmlWindowoggetto .

public ref class HtmlWindowCollection : System::Collections::ICollection
public class HtmlWindowCollection : System.Collections.ICollection
type HtmlWindowCollection = class
    interface ICollection
    interface IEnumerable
Public Class HtmlWindowCollection
Implements ICollection
Ereditarietà
HtmlWindowCollection
Implementazioni

Esempio

Nell'esempio di codice seguente viene esaminato ogni documento all'interno di una pagina contenente frame e viene creata una tabella di tutti i collegamenti ipertestuali in uscita da ogni pagina per un'ispezione futura.

private void GetLinksFromFrames()
{
    Hashtable linksTable = new Hashtable();
    string frameUrl;

    if (!(webBrowser1.Document == null))
    {
        HtmlWindow currentWindow = webBrowser1.Document.Window;
        if (currentWindow.Frames.Count > 0)
        {
            foreach (HtmlWindow frame in currentWindow.Frames)
            {
                frameUrl = frame.Url.ToString();
                Hashtable frameLinksHash = new Hashtable();

                linksTable.Add(frameUrl, frameLinksHash);
                foreach (HtmlElement hrefElement in frame.Document.Links)
                {
                    frameLinksHash.Add(hrefElement.GetAttribute("HREF"), "Url");
                }
            }
        }
        else
        {
            Hashtable docLinksHash = new Hashtable();
            linksTable.Add(webBrowser1.Document.Url.ToString(), docLinksHash);

            foreach (HtmlElement hrefElement in webBrowser1.Document.Links)
            {
                docLinksHash.Add(hrefElement.GetAttribute("HREF"), "Url");
            }
        }
    }
}
Dim LinksTable As Hashtable

Private Sub GetLinksFromFrames()
    LinksTable = New Hashtable()
    Dim FrameUrl As String

    If (WebBrowser1.Document IsNot Nothing) Then
        With WebBrowser1.Document
            Dim CurrentWindow As HtmlWindow = .Window
            If (CurrentWindow.Frames.Count > 0) Then
                For Each Frame As HtmlWindow In CurrentWindow.Frames
                    FrameUrl = Frame.Url.ToString()
                    Dim FrameLinksHash As New Hashtable()
                    LinksTable.Add(FrameUrl, FrameLinksHash)

                    For Each HrefElement As HtmlElement In Frame.Document.Links
                        FrameLinksHash.Add(HrefElement.GetAttribute("HREF"), "Url")
                    Next
                Next
            Else
                Dim DocLinksHash As New Hashtable()
                LinksTable.Add(.Url.ToString(), DocLinksHash)

                For Each HrefElement As HtmlElement In .Links
                    DocLinksHash.Add(HrefElement.GetAttribute("HREF"), "Url")
                Next
            End If
        End With
    End If
End Sub

Commenti

Un documento HTML può essere costituito da un FRAMESET oggetto che definisce più oggetti fissi FRAME , ognuno dei quali contiene la propria pagina HTML. In alternativa, un documento può contenere diversi IFRAME oggetti, che possono posizionare i documenti in modo arbitrario all'interno di altri documenti. FRAME gli oggetti e IFRAME gli oggetti sono rappresentati al livello superiore da un HtmlWindowCollectionoggetto , che contiene elementi di tipo HtmlWindow.

HtmlWindowCollection supporta l'interfaccia IEnumerator in modo che possa essere usata nei costrutti di ciclo. Definisce anche un metodo Item, che consente l'accesso agli elementi della raccolta tramite una chiamata al metodo o usando la sintassi della matrice standard.

Se si creano nuove finestre con i Open metodi o OpenNew e i documenti ospitati da queste finestre contengono FRAME elementi o IFRAME , questi elementi verranno visualizzati nella HtmlWindowCollection pagina padre.

Per altre informazioni sui frame, vedere la documentazione per la Frames proprietà .

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi nella raccolta.

Item[Int32]

Recupera una finestra cornice specificando la posizione del frame nell'insieme.

Item[String]

Recupera una finestra cornice specificando il nome del frame.

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore in grado di scorrere tutti gli elementi nell'oggetto HtmlWindowCollection.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Copia gli elementi della raccolta in un Arrayoggetto , a partire da un indice specifico Array .

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche