HtmlWindowCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa as janelas contidas dentro de outra 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
- Herança
-
HtmlWindowCollection
- Implementações
Exemplos
O exemplo de código a seguir inspeciona cada documento em uma página que contém quadros e cria uma tabela de todos os hiperlinks de saída de cada página para inspeção 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
Comentários
Um documento HTML pode consistir em um FRAMESET
que define vários objetos fixos FRAME
, cada um dos quais contém sua própria página HTML. Como alternativa, um documento pode conter vários IFRAME
objetos, que podem posicionar documentos arbitrariamente dentro de outros documentos.
FRAME
objetos e IFRAME
objetos são representados no nível superior por um HtmlWindowCollection, que contém elementos do tipo HtmlWindow.
HtmlWindowCollection dá suporte à IEnumerator interface para que ela possa ser usada em constructos de loop. Ele também define um método Item, que permite o acesso aos elementos da coleção por meio de uma chamada de método ou usando a sintaxe de matriz padrão.
Se você criar novas janelas com os Open métodos ou OpenNew e os documentos hospedados por essas janelas contiverem FRAME
ou IFRAME
elementos, esses elementos aparecerão no HtmlWindowCollection da página pai.
Para obter mais informações sobre quadros, consulte a documentação da Frames propriedade .
Propriedades
Count |
Obtém o número de elementos na coleção. |
Item[Int32] |
Recupera uma janela do quadro, fornecendo a posição do quadro na coleção. |
Item[String] |
Recupera uma janela do quadro fornecendo o nome do quadro. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetEnumerator() |
Retorna um enumerador que pode iterar por todos os elementos no HtmlWindowCollection. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
ICollection.CopyTo(Array, Int32) |
Copia os elementos da coleção para um Array, começando em um índice Array específico. |
ICollection.IsSynchronized |
Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe). |
ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso à coleção. |
Métodos de Extensão
Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |
AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |