Freigeben über


HtmlWindowCollection Klasse

Definition

Stellt die Fenster dar, die in einem anderen HtmlWindowfenster enthalten sind.

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
Vererbung
HtmlWindowCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird jedes Dokument innerhalb einer Seite überprüft, das Frames enthält, und erstellt eine Tabelle aller ausgehenden Hyperlinks von jeder Seite zur zukünftigen Überprüfung.

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

Hinweise

Ein HTML-Dokument kann aus einem FRAMESET Dokument bestehen, das mehrere feste FRAME Objekte definiert, die jeweils eine eigene HTML-Seite enthalten. Alternativ kann ein Dokument eine Reihe von IFRAME Objekten enthalten, die Dokumente beliebig innerhalb anderer Dokumente positionieren können. FRAME Objekte und IFRAME Objekte werden auf ihrer obersten Ebene durch ein HtmlWindowCollection, das Elemente vom Typ HtmlWindowenthält dargestellt.

HtmlWindowCollection unterstützt die IEnumerator Schnittstelle, sodass sie in Schleifenkonstrukten verwendet werden kann. Außerdem wird eine Item-Methode definiert, die den Zugriff auf die Elemente der Auflistung entweder über einen Methodenaufruf oder mithilfe einer Standardarraysyntax ermöglicht.

Wenn Sie neue Fenster mit den Methoden oder OpenNew Den Open Dokumenten erstellen, die von diesen Fenstern gehostet werden, enthalten FRAME oder IFRAME Elemente, werden diese Elemente auf der HtmlWindowCollection übergeordneten Seite angezeigt.

Weitere Informationen zu Frames finden Sie in der Dokumentation für die Frames Eigenschaft.

Eigenschaften

Name Beschreibung
Count

Ruft die Anzahl der Elemente in der Auflistung ab.

Item[Int32]

Ruft ein Framefenster ab, indem die Position des Frames in der Auflistung bereitgestellt wird.

Item[String]

Ruft ein Framefenster ab, indem der Name des Frames angegeben wird.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, der alle Elemente in der HtmlWindowCollectionEnumerator durchlaufen kann.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICollection.CopyTo(Array, Int32)

Kopiert die Elemente der Auflistung in ein Array, beginnend bei einem bestimmten Array Index.

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert wird (Threadsicher).

ICollection.SyncRoot

Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die Auflistung verwendet werden kann.

Erweiterungsmethoden

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für:

Weitere Informationen