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 obiektu FRAMESET 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ą dowolnie ustawiać dokumenty wewnątrz innych dokumentów. FRAME obiekty i IFRAME obiekty są reprezentowane na najwyższym poziomie przez HtmlWindowCollectionelement , który zawiera elementy typu HtmlWindow.

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

Jeśli utworzysz nowe okna z metodami Open lub OpenNew , a dokumenty hostowane przez te okna zawierają FRAME lub IFRAME elementy, te elementy będą wyświetlane 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 pozycję 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ć po wszystkich elementach w obiekcie HtmlWindowCollection.

GetHashCode()

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

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(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 obiektu Array, 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 na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

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

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też