HtmlWindow.Frames プロパティ

定義

Web ページ内で定義されている各 FRAME 要素への参照を取得します。Gets a reference to each of the FRAME elements defined within the Web page.

public:
 property System::Windows::Forms::HtmlWindowCollection ^ Frames { System::Windows::Forms::HtmlWindowCollection ^ get(); };
public System.Windows.Forms.HtmlWindowCollection Frames { get; }
member this.Frames : System.Windows.Forms.HtmlWindowCollection
Public ReadOnly Property Frames As HtmlWindowCollection

プロパティ値

HtmlWindowCollection

HtmlWindowCollectionドキュメントのフレームオブジェクトおよびIFRAMEオブジェクトの。An HtmlWindowCollection of a document's FRAME and IFRAME objects.

次のコード例では、フレームを含むページ内の各ドキュメントを検査し、今後の検査のために各ページから送信されるすべてのハイパーリンクのテーブルを作成します。The following code example inspects each document within a page containing frames and creates a table of all of the outgoing hyperlinks from each page for future inspection.

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

注釈

FRAME 、内で定義された一連のウィンドウです FRAMESETA FRAME is a set of windows defined within a FRAMESET. FRAMEs 1 つのドキュメント内で複数のドキュメントをホストできるようにします。FRAMEs enable hosting multiple documents within a single document. FRAME は、特定の行と列の幅を所有するように定義され、ページ上の位置は、内で定義されている他のに関連しています FRAME FRAMESET 。の位置は固定されていますが、 FRAME ユーザーはマウスカーソルを使用してを拡大または縮小することがあり FRAME ます。Each FRAME is defined as possessing a certain row and column width, and is position on the page in relation to the other FRAMEs defined within the FRAMESET; the position of a FRAME is fixed, although a user may sometimes use the mouse cursor to grow or shrink the FRAME. IFRAME フレームに似ていますが、固定された位置に固定する必要はありません。An IFRAME is similar to a frame, but it need not be anchored in a fixed position.

フレーム HtmlWindow には、それぞれに対して、 FRAME または IFRAME Web ページ内で定義されているのインスタンスが1つ含まれます。Frames will contain one instance of HtmlWindow for each FRAME or IFRAME defined within a Web page.

適用対象

こちらもご覧ください