HtmlWindowCollection Třída

Definice

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 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 libovolně umístit dokumenty do jiných dokumentů. FRAME objekty a IFRAME objekty jsou na nejvyšší úrovni reprezentovány objektem HtmlWindowCollection, který obsahuje prvky typu HtmlWindow.

HtmlWindowCollectionIEnumerator podporuje rozhraní, aby bylo možné ho 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()

Získá aktuální Type instanci.

(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 objektu Array, počínaje konkrétním Array indexem.

ICollection.IsSynchronized

Získá hodnotu označující, zda je synchronizován přístup ke kolekci (bez 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.

Platí pro

Viz také