Udostępnij za pośrednictwem


HtmlWindowCollection Klasa

Definicja

Reprezentuje okna zawarte w innym HtmlWindowobiekcie .

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
Dziedziczenie
HtmlWindowCollection
Implementuje

Przykłady

Poniższy przykład kodu sprawdza każdy dokument na stronie zawierającej ramki i tworzy tabelę wszystkich wychodzących hiperlinków z każdej strony na potrzeby przyszłej inspekcji.

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

Uwagi

Dokument HTML może składać się z FRAMESET obiektu definiującego wiele stałych FRAME obiektów, z których każdy zawiera własną stronę HTML. Alternatywnie dokument może zawierać wiele IFRAME obiektów, które mogą umieścić dokumenty arbitralnie wewnątrz innych dokumentów. FRAME obiekty i IFRAME obiekty są reprezentowane na najwyższym poziomie przez HtmlWindowCollectionobiekt , który zawiera elementy typu HtmlWindow.

HtmlWindowCollection IEnumerator obsługuje interfejs, dzięki czemu może być używany w konstrukcjach pętli. Definiuje również metodę Item, która umożliwia dostęp do elementów kolekcji za pośrednictwem wywołania metody lub standardowej składni tablicy.

W przypadku tworzenia nowych okien przy Open użyciu metod lub OpenNew oraz dokumentów hostowanych przez te okna FRAME lub IFRAME elementów te elementy zostaną wyświetlone na HtmlWindowCollection stronie nadrzędnej.

Aby uzyskać więcej informacji na temat ramek, zobacz dokumentację Frames właściwości.

Właściwości

Count

Pobiera liczbę elementów w kolekcji.

Item[Int32]

Pobiera okno ramowe, podając położenie ramki w kolekcji.

Item[String]

Pobiera okno ramki, podając nazwę ramki.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który może iterować wszystkie elementy w elemecie HtmlWindowCollection.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy kolekcji do Arrayelementu , zaczynając od określonego Array indeksu.

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątek).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też