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 üst düzey programlı 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ırlaraTR (TD öğeler) hücre eklemek, sonra 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ı WebBrowser1bir 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 belge nesnesi çevresinde HTML Belge Nesne Modeli (DOM) olarak da bilinen bir yönetilen sarmalayıcı sağlar. bir örneğini HtmlDocument denetimin DocumentWebBrowser özelliği aracılığıyla alırsınız.
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, DIVve FORMSPAN etiketleri tek tek HtmlElement nesneler tarafından temsil edilir.
Bu ağaçtaki öğelere erişmenin birkaç yolu 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ğını içeren bir HTML sayfasındaki öğesi için öğesini HtmlElement verir. HTML sayfasındaki tüm öğelerin bir adı olabilir; koleksiyon, All adını dizin olarak kullanarak her HtmlElement birine erişim sağlar.
GetElementsByTagNameveya TABLEgibi 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'ı tarafından uygulanan yönetilmeyen arabirimleri temel alır: IHTMLDocument, IHTMLDocument2, IHTMLDocument3ve 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 ve bunu istediğiniz 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. Frames Koleksiyon ö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.
Uyarı
ü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
| Name | Description |
|---|---|
| ActiveElement |
HtmlElement Şu anda kullanıcı girişi odağı olan öğesini sağlar. |
| ActiveLinkColor |
Bir kullanıcı tarafından tıklandığında köprü alır Color veya ayarlar. |
| All |
Belgenin HtmlElementCollectiontüm HtmlElement nesnelerini depolayan bir örneğini alır. |
| BackColor |
HTML belgesinin arka plan rengini alır veya ayarlar. |
| Body |
Etiketin HtmlElement |
| 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 |
Bunun 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ğına sahip olup olmadığını gösteren bir değer alır. |
| ForeColor |
Belgenin metin rengini alır veya ayarlar. |
| Forms |
Belgedeki |
| Images |
Belgedeki tüm resim 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 ziyaretmiş 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
| Name | Description |
|---|---|
| AttachEventHandler(String, EventHandler) |
Adlandırılmış HTML DOM olayı için bir olay işleyicisi ekler. |
| CreateElement(String) |
Belirtilen HTML etiketi türünden yeni |
| DetachEventHandler(String, EventHandler) |
HTML DOM'daki adlandırılmış bir olaydan olay işleyicisini kaldırır. |
| Equals(Object) |
Nesneyi geçerli nesneye karşı eşitlik açısından test ediyor. |
| ExecCommand(String, Boolean, Object) |
Belirtilen komutu belgeye karşı yürütür. |
| Focus() |
Geçerli belgede kullanıcı giriş odağını ayarlar. |
| GetElementById(String) |
Öğenin |
| GetElementFromPoint(Point) |
Belirtilen istemci koordinatlarında bulunan HTML öğesini alır. |
| GetElementsByTagName(String) |
Belirtilen HTML etiketine sahip bir öğe koleksiyonu alın. |
| GetHashCode() |
Bu nesnenin karma kodunu alır. |
| GetType() |
Geçerli örneğin Type 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 Objectbasit 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 bir dize döndürür. (Devralındığı yer: Object) |
| Write(String) |
Yeni bir HTML sayfası yazar. |
İşleçler
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| 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 ayrılırken 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. |