HtmlWindowCollection Klas

Definitie

Vertegenwoordigt de vensters in een ander HtmlWindowvenster.

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
Overname
HtmlWindowCollection
Implementeringen

Voorbeelden

In het volgende codevoorbeeld wordt elk document op een pagina met frames gecontroleerd en wordt een tabel gemaakt met alle uitgaande hyperlinks van elke pagina voor toekomstige inspectie.

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

Opmerkingen

Een HTML-document kan bestaan uit een FRAMESET document dat meerdere vaste FRAME objecten definieert, die elk een eigen HTML-pagina bevatten. Een document kan ook een aantal IFRAME objecten bevatten, waardoor documenten willekeurig in andere documenten kunnen worden geplaatst. FRAME objecten en IFRAME objecten worden op het hoogste niveau weergegeven door een HtmlWindowCollection, die elementen van het type HtmlWindowbevat.

HtmlWindowCollection ondersteunt de IEnumerator interface, zodat deze kan worden gebruikt in lusconstructies. Het definieert ook een itemmethode, waarmee u toegang hebt tot de elementen van de verzameling via een methodeaanroep of met behulp van standaardmatrixsyntaxis.

Als u nieuwe vensters maakt met de Open of OpenNew methoden en de documenten die door deze vensters worden gehost, bevatten FRAME of IFRAME elementen, worden deze elementen weergegeven op de HtmlWindowCollection bovenliggende pagina.

Zie de documentatie voor de Frames eigenschap voor meer informatie over frames.

Eigenschappen

Name Description
Count

Hiermee haalt u het aantal elementen in de verzameling op.

Item[Int32]

Hiermee haalt u een framevenster op door de positie van het frame in de verzameling op te leveren.

Item[String]

Hiermee haalt u een framevenster op door de naam van het frame op te leveren.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetEnumerator()

Retourneert een enumerator die alle elementen in de HtmlWindowCollection.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
ICollection.CopyTo(Array, Int32)

Kopieert de elementen van de verzameling naar een Array, beginnend bij een bepaalde Array index.

ICollection.IsSynchronized

Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de verzameling wordt gesynchroniseerd (thread safe).

ICollection.SyncRoot

Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot de verzameling te synchroniseren.

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op

Zie ook