HtmlWindowCollection Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 de la HtmlWindowCollection 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. |