HtmlWindowCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje okna zawarte w innym HtmlWindowobiekcie .
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
- Dziedziczenie
-
HtmlWindowCollection
- Implementuje
Przykłady
Poniższy przykład kodu sprawdza każdy dokument na stronie zawierającej ramki i tworzy tabelę wszystkich wychodzących hiperlinków z każdej strony na potrzeby przyszłej inspekcji.
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
Uwagi
Dokument HTML może składać się z FRAMESET
obiektu definiującego wiele stałych FRAME
obiektów, z których każdy zawiera własną stronę HTML. Alternatywnie dokument może zawierać wiele IFRAME
obiektów, które mogą umieścić dokumenty arbitralnie wewnątrz innych dokumentów.
FRAME
obiekty i IFRAME
obiekty są reprezentowane na najwyższym poziomie przez HtmlWindowCollectionobiekt , który zawiera elementy typu HtmlWindow.
HtmlWindowCollection IEnumerator obsługuje interfejs, dzięki czemu może być używany w konstrukcjach pętli. Definiuje również metodę Item, która umożliwia dostęp do elementów kolekcji za pośrednictwem wywołania metody lub standardowej składni tablicy.
W przypadku tworzenia nowych okien przy Open użyciu metod lub OpenNew oraz dokumentów hostowanych przez te okna FRAME
lub IFRAME
elementów te elementy zostaną wyświetlone na HtmlWindowCollection stronie nadrzędnej.
Aby uzyskać więcej informacji na temat ramek, zobacz dokumentację Frames właściwości.
Właściwości
Count |
Pobiera liczbę elementów w kolekcji. |
Item[Int32] |
Pobiera okno ramowe, podając położenie ramki w kolekcji. |
Item[String] |
Pobiera okno ramki, podając nazwę ramki. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Zwraca moduł wyliczający, który może iterować wszystkie elementy w elemecie HtmlWindowCollection. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ICollection.CopyTo(Array, Int32) |
Kopiuje elementy kolekcji do Arrayelementu , zaczynając od określonego Array indeksu. |
ICollection.IsSynchronized |
Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątek). |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji. |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy elementu IEnumerable do określonego typu. |
OfType<TResult>(IEnumerable) |
Filtruje elementy elementu IEnumerable na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |