Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2008/.NET Framework 3.5

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
HtmlWindowCollection (Clase)

Actualización: noviembre 2007

Representa las ventanas contenidas en otro objeto HtmlWindow.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
Visual Basic (Declaración)
Public Class HtmlWindowCollection _
    Implements ICollection, IEnumerable
Visual Basic (Uso)
Dim instance As HtmlWindowCollection
C#
public class HtmlWindowCollection : ICollection, 
    IEnumerable
Visual C++
public ref class HtmlWindowCollection : ICollection, 
    IEnumerable
J#
public class HtmlWindowCollection implements ICollection, 
    IEnumerable
JScript
public class HtmlWindowCollection implements ICollection, IEnumerable

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.

Visual Basic
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
C#
        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
Todos los miembros static (Shared en Visual Basic) públicos 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker