HtmlDocument Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Denetim tarafından WebBrowser barındırılan bir HTML belgesine en üst düzey program aracılığıyla erişim sağlar.
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- Devralma
-
HtmlDocument
Örnekler
Aşağıdaki kod örneği, kullanarak CreateElementdinamik olarak oluşturmak HTML TABLE
için Northwind veritabanındaki verileri kullanır. Yöntemi AppendChild ayrıca, önce satırlara ( öğeler) hücre (TD
TR
öğeler) eklemek, ardından tabloya satır eklemek ve son olarak tabloyu geçerli belgenin sonuna eklemek için kullanılır. Kod örneği, uygulamanızın adlı WebBrowser1
bir WebBrowser denetime sahip olmasını gerektirir. Bir belge yüklendikten sonra kod çağrılmalıdır.
private void DisplayCustomersTable()
{
DataSet customersSet = new DataSet();
DataTable customersTable = null;
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
sda.Fill(customersTable);
customersTable = customersSet.Tables[0];
if (webBrowser1.Document != null)
{
HtmlElement tableRow = null;
HtmlElement headerElem = null;
HtmlDocument doc = webBrowser1.Document;
HtmlElement tableElem = doc.CreateElement("TABLE");
doc.Body.AppendChild(tableElem);
HtmlElement tableHeader = doc.CreateElement("THEAD");
tableElem.AppendChild(tableHeader);
tableRow = doc.CreateElement("TR");
tableHeader.AppendChild(tableRow);
foreach (DataColumn col in customersTable.Columns)
{
headerElem = doc.CreateElement("TH");
headerElem.InnerText = col.ColumnName;
tableRow.AppendChild(headerElem);
}
// Create table rows.
HtmlElement tableBody = doc.CreateElement("TBODY");
tableElem.AppendChild(tableBody);
foreach (DataRow dr in customersTable.Rows)
{
tableRow = doc.CreateElement("TR");
tableBody.AppendChild(tableRow);
foreach (DataColumn col in customersTable.Columns)
{
Object dbCell = dr[col];
HtmlElement tableCell = doc.CreateElement("TD");
if (!(dbCell is DBNull))
{
tableCell.InnerText = dbCell.ToString();
}
tableRow.AppendChild(tableCell);
}
}
}
}
Private Sub DisplayCustomersTable()
' Initialize the database connection.
Dim CustomerData As New DataSet()
Dim CustomerTable As DataTable
Try
Dim DBConn As New SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;")
Dim DBQuery As New SqlDataAdapter("SELECT * FROM CUSTOMERS", DBConn)
DBQuery.Fill(CustomerData)
Catch dbEX As DataException
End Try
CustomerTable = CustomerData.Tables("Customers")
If (Not (WebBrowser1.Document Is Nothing)) Then
With WebBrowser1.Document
Dim TableElem As HtmlElement = .CreateElement("TABLE")
.Body.AppendChild(TableElem)
Dim TableRow As HtmlElement
' Create the table header.
Dim TableHeader As HtmlElement = .CreateElement("THEAD")
TableElem.AppendChild(TableHeader)
TableRow = .CreateElement("TR")
TableHeader.AppendChild(TableRow)
Dim HeaderElem As HtmlElement
For Each Col As DataColumn In CustomerTable.Columns
HeaderElem = .CreateElement("TH")
HeaderElem.InnerText = Col.ColumnName
TableRow.AppendChild(HeaderElem)
Next
' Create table rows.
Dim TableBody As HtmlElement = .CreateElement("TBODY")
TableElem.AppendChild(TableBody)
For Each Row As DataRow In CustomerTable.Rows
TableRow = .CreateElement("TR")
TableBody.AppendChild(TableRow)
For Each Col As DataColumn In CustomerTable.Columns
Dim Item As Object = Row(Col)
Dim TableCell As HtmlElement = .CreateElement("TD")
If Not (TypeOf (Item) Is DBNull) Then
TableCell.InnerText = CStr(Item)
End If
TableRow.AppendChild(TableCell)
Next
Next
End With
End If
End Sub
Açıklamalar
HtmlDocument , Internet Explorer'ın HTML Belge Nesne Modeli (DOM) olarak da bilinen belge nesnesi çevresinde yönetilen bir sarmalayıcı sağlar. Bir örneğini HtmlDocument denetimin DocumentWebBrowser özelliği aracılığıyla alırsınız.
BIR HTML belgesinin içindeki HTML etiketleri, iç içe yerleştirilmiş olabilir. HtmlDocument bu nedenle, alt öğeleri sınıfın örnekleri olan bir belge ağacını HtmlElement temsil eder. Aşağıdaki kod örneğinde basit bir HTML dosyası gösterilmektedir.
<HTML>
<BODY>
<DIV name="Span1">Simple HTML Form</DIV>
<FORM>
<SPAN name="TextLabel">Enter Your Name:</SPAN>
<INPUT type="text" size="20" name="Text1">
</FORM>
</BODY>
</HTML>
Bu örnekte, HtmlDocument etiketlerin içindeki belgenin HTML
tamamını temsil eder.
BODY
, DIV
ve FORM
SPAN
etiketleri tek tek HtmlElement nesnelerle temsil edilir.
Bu ağaçtaki öğelere erişmenin çeşitli yolları vardır. etiketine Body ve tüm alt öğelerine BODY
erişmek için özelliğini kullanın.
ActiveElement özelliği, kullanıcı giriş odağı olan bir HTML sayfasındaki öğesi için değerini HtmlElement verir. HTML sayfasındaki tüm öğelerin bir adı olabilir; All koleksiyon, adını dizin olarak kullanarak her HtmlElement birine erişim sağlar.
GetElementsByTagName, veya TABLE
gibi DIV
belirli bir HTML etiketi adına sahip tüm HtmlElement nesnelerden birini HtmlElementCollection döndürür.
GetElementById , sağladığınız benzersiz kimlikle ilgili tekliyi HtmlElement döndürür.
GetElementFromPoint sağlanan fare işaretçisi koordinatlarında ekranda bulunabilecek öğesini döndürür HtmlElement .
Ve koleksiyonunu, sırasıyla kullanıcı giriş formlarını ve grafiklerini temsil eden öğeler arasında yineleme yapmak için de kullanabilirsiniz FormsImages .
HtmlDocument , Internet Explorer'ın DHTML DOM'u tarafından uygulanan yönetilmeyen arabirimleri temel alır: IHTMLDocument
, IHTMLDocument2
, IHTMLDocument3
ve IHTMLDocument4
. Yalnızca bu yönetilmeyen arabirimlerde en sık kullanılan özellikler ve yöntemler tarafından HtmlDocumentkullanıma sunulur. Diğer tüm özelliklere ve yöntemlere DomDocument doğrudan özelliğini kullanarak erişebilirsiniz; bunu istenen yönetilmeyen arabirim işaretçisine geçirebilirsiniz.
HTML belgesi, denetimin içindeki WebBrowser farklı pencereler olan çerçeveler içerebilir. Her çerçeve kendi HTML sayfasını görüntüler. Koleksiyon Frames özelliği aracılığıyla Window kullanılabilir. Görüntülenen sayfayı Window yeniden boyutlandırmak, belgeyi kaydırmak veya kullanıcıya uyarılar ve istemler görüntülemek için özelliğini de kullanabilirsiniz.
HtmlDocument , HTML sayfalarını barındırırken işlemeyi beklediğiniz en yaygın olayları kullanıma sunar. Arabirimi tarafından doğrudan kullanıma sunulmayan olaylar için kullanarak AttachEventHandlerolay için bir işleyici ekleyebilirsiniz.
HTML dosyaları, JScript veya VBScript gibi Etkin Betik dillerinden birinde yazılmış kodu kapsülleyen etiketler içerebilir SCRIPT
. yöntemi, InvokeScript bir SCRIPT
etikette tanımlanan özelliklerin ve yöntemlerin yürütülmesini sağlar.
Not
üzerindeki HtmlDocument özelliklerin, yöntemlerin ve olayların çoğu yönetilmeyen DOM'da bulunan adlarla aynı adlara sahip olsa da, bazıları .NET Framework ile tutarlılık için değiştirilmiştir.
Özellikler
ActiveElement |
HtmlElement Şu anda kullanıcı giriş odağı olan öğesini sağlar. |
ActiveLinkColor |
Bir kullanıcı tarafından tıklandığında köprüyü alır veya ayarlar Color . |
All |
Belgenin HtmlElementCollectiontüm HtmlElement nesnelerini depolayan bir örneğini alır. |
BackColor |
HTML belgesinin arka plan rengini alır veya ayarlar. |
Body |
Etiketinin HtmlElement değerini |
Cookie |
Bu belgeyle ilişkili HTTP tanımlama bilgilerini alır veya ayarlar. |
DefaultEncoding |
Geçerli belge için varsayılan olarak kullanılan kodlamayı alır. |
Domain |
Güvenlik amacıyla bu belgenin etki alanını açıklayan dizeyi alır veya ayarlar. |
DomDocument |
Bu HtmlDocumentiçin yönetilmeyen arabirim işaretçisini alır. |
Encoding |
Bu belge için karakter kodlamasını alır veya ayarlar. |
Focused |
Belgenin kullanıcı giriş odağının olup olmadığını belirten bir değer alır. |
ForeColor |
Belgenin metin rengini alır veya ayarlar. |
Forms |
Belgedeki |
Images |
Belgedeki tüm görüntü etiketlerinden oluşan bir koleksiyon alır. |
LinkColor |
Köprülerin rengini alır veya ayarlar. |
Links |
Bu HTML belgesi içindeki tüm köprülerin listesini alır. |
RightToLeft |
Geçerli belgedeki metnin yönünü alır veya ayarlar. |
Title |
Geçerli HTML belgesindeki etiketin |
Url |
Bu belgenin konumunu açıklayan URL'yi alır. |
VisitedLinkColor |
Kullanıcının zaten ziyaret etmiş olduğu HTML sayfalarına bağlantıların Rengini alır veya ayarlar. |
Window |
Bu belgeyle ilişkilendirilmiş öğesini HtmlWindow alır. |
Yöntemler
AttachEventHandler(String, EventHandler) |
Adlandırılmış HTML DOM olayı için bir olay işleyicisi ekler. |
CreateElement(String) |
Belirtilen HTML etiketi türünde yeni |
DetachEventHandler(String, EventHandler) |
HTML DOM'daki adlandırılmış olaydan bir olay işleyicisini kaldırır. |
Equals(Object) |
Geçerli nesneye karşı eşitlik için nesnesini test edin. |
ExecCommand(String, Boolean, Object) |
Belirtilen komutu belgede yürütür. |
Focus() |
Kullanıcı giriş odağını geçerli belgeye ayarlar. |
GetElementById(String) |
Öğenin |
GetElementFromPoint(Point) |
Belirtilen istemci koordinatlarında bulunan HTML öğesini alır. |
GetElementsByTagName(String) |
Belirtilen HTML etiketine sahip bir öğe koleksiyonunu alın. |
GetHashCode() |
Bu nesnenin karma kodunu alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
InvokeScript(String, Object[]) |
HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür. |
InvokeScript(String) |
HTML sayfasında tanımlanan bir Etkin Betik işlevi yürütür. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OpenNew(Boolean) |
yöntemiyle Write(String) kullanılacak yeni HtmlDocument bir alır. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Write(String) |
Yeni bir HTML sayfası yazar. |
İşleçler
Equality(HtmlDocument, HtmlDocument) |
Belirtilen HtmlDocument örneklerin aynı değeri temsil edip etmediğini gösteren bir değer döndürür. |
Inequality(HtmlDocument, HtmlDocument) |
Belirtilen HtmlDocument örneklerin aynı değeri temsil edip etmediğini gösteren bir değer döndürür. |
Ekinlikler
Click |
Kullanıcı belgenin herhangi bir yerine tıkladığında gerçekleşir. |
ContextMenuShowing |
Kullanıcı belgenin bağlam menüsünü görüntülemeyi istediğinde gerçekleşir. |
Focusing |
Odak belgeye verilmeden önce gerçekleşir. |
LosingFocus |
Odak bir denetimden çıkarken gerçekleşir. |
MouseDown |
Kullanıcı sol fare düğmesine tıkladığında gerçekleşir. |
MouseLeave |
Fare artık belgenin üzerine gelmediğinde gerçekleşir. |
MouseMove |
Fare belgenin üzerine taşındığında gerçekleşir. |
MouseOver |
Fare belgenin üzerine taşındığında gerçekleşir. |
MouseUp |
Kullanıcı sol fare düğmesini serbest bıraktığında gerçekleşir. |
Stop |
Başka bir Web sayfasına gezinti durdurulduğunda gerçekleşir. |