Exportar (0) Imprimir
Expandir todo

HtmlWindowCollection (Clase)

Representa las ventanas contenidas en otro objeto HtmlWindow.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public class HtmlWindowCollection : ICollection, IEnumerable
public class HtmlWindowCollection implements ICollection, IEnumerable
public class HtmlWindowCollection implements ICollection, IEnumerable
No aplicable.

Un documento HTML puede consistir en un elemento FRAMESET que define múltiples objetos FRAME fijos cada uno de los cuales contiene su propia página HTML. Alternativamente, un documento puede contener varios objetos IFRAME que pueden colocar documentos arbitrariamente dentro de otros documentos. Los objetos FRAME y los objetos IFRAME se representan en su nivel superior mediante una colección HtmlWindowCollection que contiene elementos de tipo HtmlWindow.

HtmlWindowCollection admite la interfaz IEnumerator para que se pueda utilizar en estructuras 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 a método o mediante la sintaxis de la matriz estándar.

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

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

El ejemplo de código siguiente inspecciona cada documento de una página que contiene marcos y crea una tabla de todos los hipervínculos de salida a partir de cada página para la 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");
            }
        }
    }
}

System.Object
  System.Windows.Forms.HtmlWindowCollection

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2014 Microsoft