HtmlDocument Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
, , IHTMLDocument2
IHTMLDocument3
, 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 |
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 |
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 |
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 |
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 |
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. |