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 objektu 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
- 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 více FRAMESET pevných FRAME objektů, z nichž každý obsahuje vlastní stránku HTML. Případně může dokument obsahovat řadu IFRAME objektů, které můžou dokumenty libovolně umístit do jiných dokumentů.
FRAME objekty a IFRAME objekty jsou reprezentovány na nejvyšší úrovni pomocí HtmlWindowCollection, který obsahuje prvky typu HtmlWindow.
HtmlWindowCollection IEnumerator podporuje rozhraní, aby jej bylo možné použít v konstruktech 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 nebo OpenNew metod a dokumenty hostované těmito okny obsahují FRAME nebo IFRAME prvky, které tyto prvky budou zobrazeny na HtmlWindowCollection nadřazené stránce.
Další informace o rámcích najdete v dokumentaci k Frames vlastnosti.
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet prvků v kolekci. |
| Item[Int32] |
Načte okno rámce zadáním pozice rámce v kolekci. |
| Item[String] |
Načte okno rámce zadáním názvu rámce. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven 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í funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Zkopíruje prvky kolekce do objektu Array, počínaje konkrétním Array indexem. |
| ICollection.IsSynchronized |
Získá hodnotu označující, zda je přístup ke kolekci synchronizován (bezpečné vlákno). |
| ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k kolekci. |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |