次の方法で共有


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 メソッドを定義します。これにより、メソッド呼び出しまたは標準配列構文を使用して、コレクションの要素にアクセスできます。

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

フレームの詳細については、 プロパティのドキュメントを 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 に変換します。

適用対象

こちらもご覧ください