HtmlWindowCollection クラス

定義

別の HtmlWindow 内に含まれているウィンドウを表します。

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
継承
HtmlWindowCollection
実装

次のコード例では、フレームを含むページ内の各ドキュメントを検査し、後で検査するために各ページからのすべての送信ハイパーリンクのテーブルを作成します。

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

注釈

HTML ドキュメントは、複数の固定FRAMEオブジェクトをFRAMESET定義するオブジェクトで構成され、それぞれに独自の HTML ページが含まれている場合があります。 または、ドキュメントに多数のオブジェクトが含まれている場合があり、ドキュメントを他の IFRAME ドキュメントの内部に任意に配置できます。 FRAMEオブジェクトとIFRAMEオブジェクトは、型HtmlWindowの要素を含む 、最上位レベルHtmlWindowCollectionで表されます。

HtmlWindowCollection はインターフェイスを IEnumerator サポートしているため、ループ コンストラクトで使用できます。 また、Item メソッドを定義します。これにより、メソッド呼び出しまたは標準配列構文を使用してコレクションの要素にアクセスできます。

メソッドを使用して新しいウィンドウをOpen作成し、これらのウィンドウでホストされているドキュメントに要素がIFRAME含まれているFRAME場合、これらの要素は親ページにHtmlWindowCollection表示されます。OpenNew

フレームの詳細については、プロパティのドキュメントを Frames 参照してください。

プロパティ

Count

コレクション内の要素の数を取得します。

Item[Int32]

フレームのコレクションにおける位置を指定して、フレーム ウィンドウを取得します。

Item[String]

フレームの名前を指定して、フレーム ウィンドウを取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEnumerator()

HtmlWindowCollection 内のすべての要素を反復処理できる列挙子を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32)

コレクションの要素を Array にコピーします。Array の特定のインデックスからコピーが開始されます。

ICollection.IsSynchronized

コレクションへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。

ICollection.SyncRoot

コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください