HtmlWindowCollection Classe

Definizione

Rappresenta le finestre contenute all'interno di un altro oggetto HtmlWindow.Represents the windows contained within another 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

Esempi

Nell'esempio di codice seguente viene esaminato ogni documento in una pagina contenente frame e viene creata una tabella di tutti i collegamenti ipertestuali in uscita da ogni pagina per un'ispezione futura.The following code example inspects each document within a page containing frames and creates a table of all of the outgoing hyperlinks from each page for future inspection.

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 FRAMESET da un oggetto che FRAME definisce più oggetti fissi, ognuno dei quali contiene la propria pagina HTML.An HTML document may consist of a FRAMESET that defines multiple fixed FRAME objects, each of which contains its own HTML page. In alternativa, un documento può contenere una serie di IFRAME oggetti, che possono posizionare i documenti in modo arbitrario all'interno di altri documenti.Alternatively, a document may contain a number of IFRAME objects, which can position documents arbitrarily inside of other documents. FRAMEoggetti e IFRAME oggetti sono rappresentati al livello superiore da un oggetto HtmlWindowCollectionche contiene elementi di tipo HtmlWindow.FRAME objects and IFRAME objects are represented at their top-most level by an HtmlWindowCollection, which contains elements of type HtmlWindow.

HtmlWindowCollectionsupporta l' IEnumerator interfaccia in modo che possa essere utilizzata nei costrutti di ciclo.HtmlWindowCollection supports the IEnumerator interface so that it can be used in loop constructs. Definisce anche un metodo di elemento, che consente l'accesso agli elementi della raccolta tramite una chiamata al metodo o usando la sintassi di matrice standard.It also defines an Item method, which allows access to the elements of the collection either via a method call or using standard array syntax.

Se si creano nuove finestre con i Open metodi OpenNew o e i documenti ospitati da queste finestre contengono FRAME elementi IFRAME o, questi elementi verranno visualizzati nell'oggetto HtmlWindowCollection della pagina padre.If you create new windows with the Open or OpenNew methods, and the documents hosted by these windows contain FRAME or IFRAME elements, that these elements will appear in the HtmlWindowCollection of the parent page.

Per ulteriori informazioni sui frame, vedere la documentazione relativa alla Frames proprietà.For more information on frames, see the documentation for the Frames property.

Proprietà

Count

Ottiene il numero di elementi nella raccolta.Gets the number of elements in the collection.

Item[Int32]

Recupera una finestra con frame fornendo la posizione del frame nell'insieme.Retrieves a frame window by supplying the frame's position in the collection.

Item[String]

Recupera una finestra con frame fornendo il nome del frame.Retrieves a frame window by supplying the frame's name.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che può scorrere tutti gli elementi in HtmlWindowCollection.Returns an enumerator that can iterate through all elements in the HtmlWindowCollection.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

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

(Ereditato da Object)
MemberwiseClone()

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

(Ereditato da Object)
ToString()

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

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi dell'insieme in un oggetto Array, a partire da uno specifico indice di Array.Copies the elements of the collection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.Gets an object that can be used to synchronize access to the collection.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche