Partilhar via


HtmlWindow.Frames Propriedade

Definição

Obtém uma referência a cada um dos elementos FRAME definidos na página da Web.

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

Valor da propriedade

HtmlWindowCollection

Um HtmlWindowCollection dos objetos FRAME e IFRAME de um documento.

Exemplos

O exemplo de código a seguir inspeciona cada documento dentro de uma página que contém quadros e cria uma tabela de todos os hiperlinks de saída de cada página para inspeção futura.

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

Comentários

Um FRAME é um conjunto de janelas definido em um FRAMESET. FRAMEs habilitam a hospedagem de vários documentos em um único documento. Cada FRAME um é definido como possuindo uma determinada largura de linha e coluna e é posicionado na página em relação aos outros FRAMEs definidos dentro do FRAMESET; a posição de um FRAME é fixa, embora um usuário às vezes possa usar o cursor do mouse para aumentar ou reduzir o FRAME. Um IFRAME é semelhante a um quadro, mas não precisa ser ancorado em uma posição fixa.

Os quadros conterão uma instância de HtmlWindow cada FRAME uma ou IFRAME definida em uma página da Web.

Aplica-se a

Confira também