Export (0) Print
Expand All

HtmlWindow.Frames Property

Gets a reference to each of the FRAME elements defined within the Web page.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public HtmlWindowCollection Frames { get; }

Property Value

Type: System.Windows.Forms.HtmlWindowCollection
An HtmlWindowCollection of a document's FRAME and IFRAME objects.

A FRAME is a set of windows defined within a FRAMESET. FRAMEs enable hosting multiple documents within a single document. 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. An IFRAME is similar to a frame, but it need not be anchored in a fixed position.

Frames will contain one instance of HtmlWindow for each FRAME or IFRAME defined within a Web page.

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");
					}
				}
			}
		}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft