HtmlWindowCollection Clase

Definición

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

Ejemplos

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

Comentarios

Un documento HTML puede constar de FRAMESET un que define varios FRAME objetos fijos, cada uno de los cuales contiene su propia 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, un documento puede contener varios IFRAME objetos, que pueden colocar documentos arbitrariamente dentro de otros documentos.Alternatively, a document may contain a number of IFRAME objects, which can position documents arbitrarily inside of other documents. FRAMElos objetos IFRAME y objetos se representan en el nivel superior HtmlWindowCollectionpor, que contiene elementos de tipo HtmlWindow.FRAME objects and IFRAME objects are represented at their top-most level by an HtmlWindowCollection, which contains elements of type HtmlWindow.

HtmlWindowCollectionadmite la IEnumerator interfaz para que se pueda usar en construcciones de bucle.HtmlWindowCollection supports the IEnumerator interface so that it can be used in loop constructs. También define un método de elemento, que permite el acceso a los elementos de la colección a través de una llamada al método o mediante la sintaxis de la matriz estándar.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.

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 el HtmlWindowCollection de la página primaria.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 obtener más información sobre los fotogramas, consulte Frames la documentación de la propiedad.For more information on frames, see the documentation for the Frames property.

Propiedades

Count

Obtiene el número de elementos de la colección.Gets the number of elements in the collection.

Item[Int32]

Recupera una ventana de marco proporcionando la posición del marco en la colección.Retrieves a frame window by supplying the frame's position in the collection.

Item[String]

Recupera una ventana de marco proporcionando el nombre del marco.Retrieves a frame window by supplying the frame's name.

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que puede recorrer en iteración todos los elementos de HtmlWindowCollection.Returns an enumerator that can iterate through all elements in the HtmlWindowCollection.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(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.Copies the elements of the collection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la colección.Gets an object that can be used to synchronize access to the collection.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Se aplica a

Consulte también: