HtmlWindowCollection Klasse

Definition

Stellt die Fenster dar, die in einem anderen HtmlWindow 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 auf einer Seite überprüft, die Frames enthält, und eine Tabelle mit allen ausgehenden Links von jeder Seite für die zukünftige Überprüfung erstellt.

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 bestehen, das mehrere feste FRAME Objekte definiert, von denen jedes eine eigene HTML-Seite enthält. Alternativ kann ein Dokument eine Reihe von IFRAME Objekten enthalten, die Dokumente beliebig in anderen Dokumenten positionieren können. FRAME -Objekte und IFRAME -Objekte werden auf ihrer obersten Ebene durch ein HtmlWindowCollectiondargestellt, das Elemente vom Typ HtmlWindowenthält.

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 der Standardarraysyntax ermöglicht.

Wenn Sie neue Fenster mit den Open Methoden oder OpenNew erstellen und die von diesen Fenstern gehosteten Dokumente Elemente enthalten FRAMEIFRAME , werden diese Elemente auf der HtmlWindowCollection übergeordneten Seite angezeigt.

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

Eigenschaften

Count

Ruft die Anzahl der Elemente in der Auflistung ab.

Item[Int32]

Ruft ein Rahmenfenster durch Bereitstellen der Position des Rahmens in der Auflistung ab.

Item[String]

Ruft ein Rahmenfenster ab, indem der Name des Rahmens bereitgestellt wird.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

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

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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 ist (threadsicher).

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert werden kann.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen