Condividi tramite


HtmlWindowCollection Classe

Definizione

Rappresenta le finestre contenute all'interno di un altro oggetto HtmlWindow.

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

L'esempio di codice seguente controlla ogni documento all'interno di una pagina contenente frame e crea 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à

Count

Ottiene il numero di elementi nella raccolta.

Item[Int32]

Recupera una finestra con frame fornendo la posizione del frame nell'insieme.

Item[String]

Recupera una finestra con frame fornendo il nome del frame.

Metodi

Equals(Object)

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

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che può scorrere tutti gli elementi in HtmlWindowCollection.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi della raccolta in un oggetto Array, a partire da uno specifico indice di Array.

ICollection.IsSynchronized

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

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche