HtmlWindowCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje okna obsažená v jiném HtmlWindowobjektu .
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
- Dědičnost
-
HtmlWindowCollection
- Implementuje
Příklady
Následující příklad kódu zkontroluje každý dokument na stránce obsahující rámce a vytvoří tabulku všech odchozích hypertextových odkazů z každé stránky pro budoucí kontrolu.
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
Poznámky
Dokument HTML se může skládat z objektu FRAMESET
, který definuje více pevných FRAME
objektů, z nichž každý obsahuje vlastní stránku HTML. Dokument může také obsahovat řadu IFRAME
objektů, které mohou dokumenty libovolně umístit do jiných dokumentů.
FRAME
Objekty a IFRAME
objekty jsou na nejvyšší úrovni reprezentovány objektem HtmlWindowCollection, který obsahuje prvky typu HtmlWindow.
HtmlWindowCollection IEnumerator podporuje rozhraní, aby jej bylo možné použít v konstruktorech smyčky. Definuje také metodu Item, která umožňuje přístup k prvkům kolekce buď prostřednictvím volání metody, nebo pomocí standardní syntaxe pole.
Pokud vytvoříte nová okna pomocí Open metod nebo OpenNew a dokumenty hostované těmito okny obsahují FRAME
prvky nebo IFRAME
, zobrazí se tyto prvky na HtmlWindowCollection nadřazené stránce.
Další informace o rámcích najdete v dokumentaci k Frames vlastnosti .
Vlastnosti
Count |
Získá počet elementů v kolekci. |
Item[Int32] |
Načte okno rámečku zadáním pozice rámce v kolekci. |
Item[String] |
Načte okno rámečku zadáním názvu rámce. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetEnumerator() |
Vrátí enumerátor, který může iterovat všemi prvky v objektu HtmlWindowCollection. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
ICollection.CopyTo(Array, Int32) |
Zkopíruje prvky kolekce do Array, počínaje konkrétním Array indexem. |
ICollection.IsSynchronized |
Získá hodnotu označující, zda přístup ke kolekci je synchronizován (bezpečné z více vláken). |
ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu ke kolekci. |
Metody rozšíření
Cast<TResult>(IEnumerable) |
Přetypuje prvky objektu na IEnumerable zadaný typ. |
OfType<TResult>(IEnumerable) |
Filtruje prvky objektu IEnumerable na základě zadaného typu. |
AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
AsQueryable(IEnumerable) |
Převede objekt na IEnumerableIQueryable. |