Aracılığıyla paylaş


HtmlDocument Sınıf

Tanım

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 (TDTR öğ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ı 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 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, DIVve FORMSPAN 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 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'u 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; 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 BODY alır.

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 <FORM> tüm öğelerin koleksiyonunu alır.

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 <TITLE> metin değerini alır veya ayarlar.

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 HtmlElement bir oluşturur.

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 ID özniteliğini bir arama anahtarı olarak kullanarak tek HtmlElement bir alır.

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.

Şunlara uygulanır

Ayrıca bkz.