Sdílet prostřednictvím


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 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.

Platí pro

Viz také