Bagikan melalui


HtmlDocument Kelas

Definisi

Menyediakan akses terprogram tingkat atas ke dokumen HTML yang dihosting WebBrowser oleh kontrol.

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
Warisan
HtmlDocument

Contoh

Contoh kode berikut menggunakan data dari database Northwind untuk membuat secara HTML TABLE dinamis menggunakan CreateElement. Metode AppendChild ini juga digunakan, pertama-tama untuk menambahkan sel (TD elemen) ke baris (TR elemen), lalu untuk menambahkan baris ke tabel, dan akhirnya untuk menambahkan tabel ke akhir dokumen saat ini. Contoh kode mengharuskan aplikasi Anda memiliki WebBrowser kontrol bernama WebBrowser1. Kode harus dipanggil setelah dokumen dimuat.

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

Keterangan

HtmlDocument menyediakan pembungkus terkelola di sekitar objek dokumen Internet Explorer, juga dikenal sebagai Model Objek Dokumen HTML (DOM). Anda mendapatkan instans HtmlDocument melalui Document properti WebBrowser kontrol.

Tag HTML di dalam dokumen HTML dapat ditumpuk di dalam satu dengan yang lain. HtmlDocument dengan demikian mewakili pohon dokumen, yang anak-anaknya adalah instans HtmlElement kelas. Contoh kode berikut menunjukkan file HTML sederhana.

<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>  

Dalam contoh ini, HtmlDocument mewakili seluruh dokumen di HTML dalam tag. Tag BODY, DIV, FORM dan SPAN diwakili oleh objek individual HtmlElement .

Ada beberapa cara untuk mengakses elemen di pohon ini. Body Gunakan properti untuk mengakses BODY tag dan semua turunannya. Properti ActiveElement memberi Anda HtmlElement untuk elemen pada halaman HTML yang memiliki fokus input pengguna. Semua elemen dalam halaman HTML dapat memiliki nama; All koleksi menyediakan akses ke masing-masing HtmlElement menggunakan namanya sebagai indeks. GetElementsByTagName akan mengembalikan HtmlElementCollection dari semua HtmlElement objek dengan nama tag HTML tertentu, seperti DIV atau TABLE. GetElementById akan mengembalikan satu HtmlElement yang sesuai dengan ID unik yang Anda berikan. GetElementFromPoint akan mengembalikan HtmlElement yang dapat ditemukan pada layar pada koordinat penunjuk mouse yang disediakan.

Anda juga dapat menggunakan Forms koleksi dan Images untuk melakukan iterasi melalui elemen yang mewakili formulir dan grafik input pengguna.

HtmlDocumentdidasarkan pada antarmuka yang tidak dikelola yang diterapkan oleh DHTML DOM Internet Explorer: IHTMLDocument, , IHTMLDocument2IHTMLDocument3, dan IHTMLDocument4. Hanya properti dan metode yang paling sering digunakan pada antarmuka yang tidak dikelola ini yang diekspos oleh HtmlDocument. Anda dapat mengakses semua properti dan metode lain secara langsung menggunakan DomDocument properti , yang dapat Anda transmisikan ke penunjuk antarmuka yang tidak dikelola yang diinginkan.

Dokumen HTML mungkin berisi bingkai, yang merupakan jendela yang berbeda di dalam WebBrowser kontrol. Setiap bingkai menampilkan halaman HTML-nya sendiri. Koleksi Frames tersedia melalui Window properti . Anda juga dapat menggunakan Window properti untuk mengubah ukuran halaman yang ditampilkan, menggulir dokumen, atau menampilkan pemberitahuan dan perintah kepada pengguna.

HtmlDocument memaparkan peristiwa paling umum yang ingin Anda tangani saat menghosting halaman HTML. Untuk peristiwa yang tidak diekspos langsung oleh antarmuka, Anda dapat menambahkan handler untuk peristiwa menggunakan AttachEventHandler.

File HTML mungkin berisi SCRIPT tag yang merangkum kode yang ditulis dalam salah satu bahasa Skrip Aktif, seperti JScript atau VBScript. Metode ini InvokeScript menyediakan eksekusi properti dan metode yang SCRIPT ditentukan dalam tag.

Catatan

Meskipun sebagian besar properti, metode, dan peristiwa HtmlDocument pada telah menyimpan nama yang sama seperti yang mereka miliki pada DOM yang tidak dikelola, beberapa telah diubah untuk konsistensi dengan .NET Framework.

Properti

ActiveElement

Menyediakan yang HtmlElement saat ini memiliki fokus input pengguna.

ActiveLinkColor

Mendapatkan atau mengatur Color hyperlink saat diklik oleh pengguna.

All

Mendapatkan instans HtmlElementCollection, yang menyimpan semua HtmlElement objek untuk dokumen.

BackColor

Mendapatkan atau mengatur warna latar belakang dokumen HTML.

Body

HtmlElement Mendapatkan untuk BODY tag.

Cookie

Mendapatkan atau menyetel cookie HTTP yang terkait dengan dokumen ini.

DefaultEncoding

Mendapatkan pengodean yang digunakan secara default untuk dokumen saat ini.

Domain

Mendapatkan atau mengatur string yang menjelaskan domain dokumen ini untuk tujuan keamanan.

DomDocument

Mendapatkan penunjuk antarmuka yang tidak dikelola untuk ini HtmlDocument.

Encoding

Mendapatkan atau mengatur pengodean karakter untuk dokumen ini.

Focused

Mendapatkan nilai yang menunjukkan apakah dokumen memiliki fokus input pengguna.

ForeColor

Mendapatkan atau mengatur warna teks untuk dokumen.

Forms

Mendapatkan koleksi semua <FORM> elemen dalam dokumen.

Images

Mendapatkan kumpulan semua tag gambar dalam dokumen.

LinkColor

Mendapatkan atau mengatur warna hyperlink.

Links

Mendapatkan daftar semua hyperlink dalam dokumen HTML ini.

RightToLeft

Mendapatkan atau mengatur arah teks dalam dokumen saat ini.

Title

Mendapatkan atau mengatur nilai <TITLE> teks tag dalam dokumen HTML saat ini.

Url

Mendapatkan URL yang menjelaskan lokasi dokumen ini.

VisitedLinkColor

Mendapatkan atau mengatur Warna tautan ke halaman HTML yang telah dikunjungi pengguna.

Window

Mendapatkan yang HtmlWindow terkait dengan dokumen ini.

Metode

AttachEventHandler(String, EventHandler)

Menambahkan penanganan aktivitas untuk peristiwa HTML DOM bernama.

CreateElement(String)

Membuat baru HtmlElement jenis tag HTML yang ditentukan.

DetachEventHandler(String, EventHandler)

Menghapus penanganan aktivitas dari peristiwa bernama di HTML DOM.

Equals(Object)

Menguji objek untuk kesetaraan terhadap objek saat ini.

ExecCommand(String, Boolean, Object)

Menjalankan perintah yang ditentukan terhadap dokumen.

Focus()

Mengatur fokus input pengguna pada dokumen saat ini.

GetElementById(String)

Mengambil satu HtmlElement menggunakan atribut elemen ID sebagai kunci pencarian.

GetElementFromPoint(Point)

Mengambil elemen HTML yang terletak di koordinat klien yang ditentukan.

GetElementsByTagName(String)

Ambil kumpulan elemen dengan tag HTML yang ditentukan.

GetHashCode()

Mengambil kode hash untuk objek ini.

GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
InvokeScript(String, Object[])

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman HTML.

InvokeScript(String)

Menjalankan fungsi Skrip Aktif yang ditentukan dalam halaman HTML.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
OpenNew(Boolean)

Mendapatkan baru HtmlDocument untuk digunakan dengan Write(String) metode .

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Write(String)

Menulis halaman HTML baru.

Operator

Equality(HtmlDocument, HtmlDocument)

Mengembalikan nilai yang menunjukkan apakah instans yang ditentukan HtmlDocument mewakili nilai yang sama.

Inequality(HtmlDocument, HtmlDocument)

Mengembalikan nilai yang menunjukkan apakah instans yang ditentukan HtmlDocument tidak mewakili nilai yang sama.

Acara

Click

Terjadi ketika pengguna mengklik di mana saja pada dokumen.

ContextMenuShowing

Terjadi ketika pengguna meminta untuk menampilkan menu konteks dokumen.

Focusing

Terjadi sebelum fokus diberikan ke dokumen.

LosingFocus

Terjadi saat fokus meninggalkan kontrol.

MouseDown

Terjadi ketika pengguna mengklik tombol mouse kiri.

MouseLeave

Terjadi ketika mouse tidak lagi mengarahkan kursor ke dokumen.

MouseMove

Terjadi ketika mouse dipindahkan ke atas dokumen.

MouseOver

Terjadi ketika mouse dipindahkan ke atas dokumen.

MouseUp

Terjadi ketika pengguna melepaskan tombol mouse kiri.

Stop

Terjadi ketika navigasi ke halaman Web lain dihentikan.

Berlaku untuk

Lihat juga