HtmlWindowCollection Clase

Definición

Representa las ventanas incluidas en otra 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
Herencia
HtmlWindowCollection
Implementaciones

Ejemplos

En el ejemplo de código siguiente se inspecciona cada documento dentro de una página que contiene marcos y se crea una tabla de todos los hipervínculos salientes de cada página para una inspección 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

Comentarios

Un documento HTML puede constar de un FRAMESET objeto que define varios objetos fijos FRAME , cada uno de los cuales contiene su propia página HTML. Como alternativa, un documento puede contener una serie de IFRAME objetos, que pueden colocar documentos arbitrariamente dentro de otros documentos. FRAME los objetos y IFRAME los objetos se representan en su nivel superior mediante , HtmlWindowCollectionque contiene elementos de tipo HtmlWindow.

HtmlWindowCollection admite la IEnumerator interfaz para que se pueda usar en construcciones de bucle. También define un método Item, que permite el acceso a los elementos de la colección a través de una llamada de método o mediante la sintaxis de matriz estándar.

Si crea nuevas ventanas con los Open métodos o OpenNew y los documentos hospedados por estas ventanas contienen FRAME elementos o IFRAME , estos elementos aparecerán en la HtmlWindowCollection de la página principal.

Para obtener más información sobre los marcos, consulte la documentación de la Frames propiedad .

Propiedades

Count

Obtiene el número de elementos de la colección.

Item[Int32]

Recupera una ventana de marco proporcionando la posición del marco en la colección.

Item[String]

Recupera una ventana de marco proporcionando el nombre del marco.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que puede recorrer en iteración todos los elementos de HtmlWindowCollection.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia los elementos de la colección en un objeto Array, empezando por un índice determinado de Array.

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos).

ICollection.SyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la colección.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también