HtmlWindowCollection Classe

Definição

Representa as janelas contidas dentro de outra 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
Herança
HtmlWindowCollection
Implementações

Exemplos

O exemplo de código a seguir inspeciona cada documento dentro de uma página que contém quadros e cria uma tabela de todos os hiperlinks de saída de cada página para inspeção 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

Comentários

Um documento HTML pode consistir em FRAMESET um que define vários FRAME objetos fixos, cada um contendo sua própria página HTML.An HTML document may consist of a FRAMESET that defines multiple fixed FRAME objects, each of which contains its own HTML page. Como alternativa, um documento pode conter vários IFRAME objetos, que podem posicionar os documentos arbitrariamente dentro de outros documentos.Alternatively, a document may contain a number of IFRAME objects, which can position documents arbitrarily inside of other documents. FRAMEobjetos e IFRAME objetos são representados no nível mais alto de um HtmlWindowCollection, que contém elementos do tipo HtmlWindow.FRAME objects and IFRAME objects are represented at their top-most level by an HtmlWindowCollection, which contains elements of type HtmlWindow.

HtmlWindowCollectiondá suporte IEnumerator à interface para que ela possa ser usada em construções de loop.HtmlWindowCollection supports the IEnumerator interface so that it can be used in loop constructs. Ele também define um método de item, que permite o acesso aos elementos da coleção por meio de uma chamada de método ou usando a sintaxe de matriz padrão.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 você criar novas janelas com os Open métodos OpenNew ou e os documentos hospedados por essas janelas contêm FRAME ou IFRAME elementos, esses elementos serão exibidos no HtmlWindowCollection da página pai.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.

Para obter mais informações sobre quadros, consulte a documentação Frames da propriedade.For more information on frames, see the documentation for the Frames property.

Propriedades

Count

Obtém o número de elementos na coleção.Gets the number of elements in the collection.

Item[Int32]

Recupera uma janela do quadro, fornecendo a posição do quadro na coleção.Retrieves a frame window by supplying the frame's position in the collection.

Item[String]

Recupera uma janela do quadro fornecendo o nome do quadro.Retrieves a frame window by supplying the frame's name.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetEnumerator()

Retorna um enumerador que pode iterar por todos os elementos no HtmlWindowCollection.Returns an enumerator that can iterate through all elements in the HtmlWindowCollection.

GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia os elementos da coleção para um Array, começando em um índice Array específico.Copies the elements of the collection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção.Gets an object that can be used to synchronize access to the collection.

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a

Veja também