HtmlDocument Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Legfelső szintű programozott hozzáférést biztosít a vezérlő által WebBrowser üzemeltetett HTML-dokumentumokhoz.
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- Öröklődés
-
HtmlDocument
Példák
Az alábbi kódpéldában a Northwind-adatbázisból származó adatok használatával hozunk létre dinamikusanHTML TABLE.CreateElement A AppendChild metódust is használják, először cellákat (TD elemeket) ad hozzá a sorokhoz (TR elemekhez), majd sorokat ad hozzá a táblához, végül pedig hozzáfűzi a táblázatot az aktuális dokumentum végéhez. A példakód megköveteli, hogy az alkalmazás rendelkezik egy WebBrowser vezérlővel.WebBrowser1 A kódot a dokumentum betöltése után kell meghívni.
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
Megjegyzések
HtmlDocument egy felügyelt burkolót biztosít Internet Explorer dokumentumobjektuma, más néven a HTML-dokumentumobjektum-modell (DOM) köré. A példányt HtmlDocument a Document vezérlő tulajdonságán keresztül szerezheti WebBrowser be.
A HTML-dokumentumok HTML-címkéi egymásba ágyazhatók. HtmlDocument így egy dokumentumfát jelöl, amelynek gyermekei az HtmlElement osztály példányai. Az alábbi példakód egy egyszerű HTML-fájlt mutat be.
<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>
Ebben a példában HtmlDocument a teljes dokumentumot jelöli a HTML címkéken belül. A BODY, DIVFORM és SPAN a címkéket egyéni HtmlElement objektumok jelölik.
A fa elemei többféleképpen is elérhetők.
Body A tulajdonság használatával elérheti a BODY címkét és az összes gyermekét. A ActiveElement tulajdonság megadja a HtmlElement felhasználói beviteli fókuszt tartalmazó HTML-lap elemét. A HTML-lapon lévő összes elemnek lehet neve; a All gyűjtemény hozzáférést biztosít mindegyikhez HtmlElement a neve alapján indexként.
GetElementsByTagName egy adott HTML-címkenévvel rendelkező objektumot ad vissza HtmlElementCollectionHtmlElement , például DIV vagy TABLE.
GetElementById a megadott egyedi azonosítónak megfelelő egyedi HtmlElement azonosítót adja vissza.
GetElementFromPoint a megadott egérmutató koordinátáinál a képernyőn található értéket adja vissza HtmlElement .
A gyűjtemény és Forms a Images gyűjtemény használatával a felhasználói beviteli űrlapokat és ábrákat ábrázoló elemeken keresztül is iterálhat.
HtmlDocument az Internet Explorer DHTML DOM által implementált nem felügyelt felületeken alapul: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 és IHTMLDocument4. Ezeken a nem felügyelt felületeken csak a leggyakrabban használt tulajdonságokat és metódusokat fedi fel a HtmlDocumentrendszer. Az összes többi tulajdonságot és metódust közvetlenül a DomDocument tulajdonsággal érheti el, amelyet a kívánt, nem felügyelt felület mutatóra helyezhet.
A HTML-dokumentumok kereteket tartalmazhatnak, amelyek a vezérlőn belül WebBrowser különböző ablakok. Minden keret saját HTML-oldalt jelenít meg. A Frames gyűjtemény a Window tulajdonságon keresztül érhető el. A tulajdonság használatával Window átméretezheti a megjelenített lapot, görgetheti a dokumentumot, vagy riasztásokat és utasításokat jeleníthet meg a felhasználónak.
HtmlDocument a HTML-oldalak üzemeltetése során várható leggyakoribb eseményeket teszi elérhetővé. A felület által közvetlenül nem közzétett eseményekhez hozzáadhat egy kezelőt az eseményhez a használatával AttachEventHandler.
A HTML-fájlok tartalmazhatnak SCRIPT olyan címkéket, amelyek az aktív szkriptelési nyelvek egyikében írt kódot ágyaznak be, például JScriptet vagy VBScriptet. A InvokeScript metódus a címkében definiált SCRIPT tulajdonságok és metódusok végrehajtását biztosítja.
Note
Bár a HtmlDocument legtöbb tulajdonsága, metódusa és eseménye ugyanazokat a neveket tartalmazza, mint a nem felügyelt DOM-on, néhányat módosítottak a .NET-keretrendszerrel való konzisztencia érdekében.
Tulajdonságok
| Name | Description |
|---|---|
| ActiveElement |
Azt adja meg, HtmlElement amely jelenleg a felhasználói beviteli fókuszt tartalmazza. |
| ActiveLinkColor |
Lekéri vagy beállítja a Color hivatkozásokat, amikor egy felhasználó rákattint. |
| All |
Lekéri a dokumentum összes HtmlElementCollection objektumát HtmlElementtároló példányt. |
| BackColor |
Lekéri vagy beállítja a HTML-dokumentum háttérszínét. |
| Body |
Lekéri a HtmlElement címkét |
| Cookie |
Lekéri vagy beállítja a dokumentumhoz társított HTTP-cookie-kat. |
| DefaultEncoding |
Lekéri az aktuális dokumentumhoz alapértelmezés szerint használt kódolást. |
| Domain |
Biztonsági okokból lekéri vagy beállítja a dokumentum tartományát leíró sztringet. |
| DomDocument |
Lekéri ehhez a nem felügyelt felület mutatót HtmlDocument. |
| Encoding |
Lekéri vagy beállítja a dokumentum karakterkódolását. |
| Focused |
Beolvas egy értéket, amely jelzi, hogy a dokumentum rendelkezik-e felhasználói beviteli fókuszsal. |
| ForeColor |
Lekéri vagy beállítja a dokumentum szövegszínét. |
| Forms |
Lekéri a |
| Images |
Lekéri a dokumentum összes képcímkéjének gyűjteményét. |
| LinkColor |
Lekéri vagy beállítja a hivatkozások színét. |
| Links |
Lekéri a HTML-dokumentumban található összes hivatkozás listáját. |
| RightToLeft |
Lekéri vagy beállítja a szöveg irányát az aktuális dokumentumban. |
| Title |
Lekéri vagy beállítja a |
| Url |
Lekéri a dokumentum helyét leíró URL-címet. |
| VisitedLinkColor |
Lekéri vagy beállítja a felhasználó által már meglátogatott HTML-oldalakra mutató hivatkozások színét. |
| Window |
Lekéri a HtmlWindow dokumentumhoz társított fájlokat. |
Metódusok
| Name | Description |
|---|---|
| AttachEventHandler(String, EventHandler) |
Hozzáad egy eseménykezelőt a nevesített HTML DOM-eseményhez. |
| CreateElement(String) |
Létrehoz egy újat |
| DetachEventHandler(String, EventHandler) |
Eltávolít egy eseménykezelőt egy elnevezett eseményből a HTML DOM-on. |
| Equals(Object) |
Ellenőrzi az objektum egyenlőségét az aktuális objektummal szemben. |
| ExecCommand(String, Boolean, Object) |
Végrehajtja a megadott parancsot a dokumentumon. |
| Focus() |
Beállítja a felhasználói beviteli fókuszt az aktuális dokumentumra. |
| GetElementById(String) |
Egyetlen HtmlElement lekérdezést kér le az elem attribútumával |
| GetElementFromPoint(Point) |
Lekéri a megadott ügyfélkoordinátákon található HTML-elemet. |
| GetElementsByTagName(String) |
A megadott HTML-címkével rendelkező elemek gyűjteményének lekérése. |
| GetHashCode() |
Lekéri az objektum kivonatkódját. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| InvokeScript(String, Object[]) |
Egy HTML-lapon definiált Active Scripting függvényt hajt végre. |
| InvokeScript(String) |
Egy HTML-lapon definiált Active Scripting függvényt hajt végre. |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| OpenNew(Boolean) |
Beolvas egy újat HtmlDocument a Write(String) metódussal való használathoz. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
| Write(String) |
Új HTML-lapot ír. |
Operátorok
| Name | Description |
|---|---|
| Equality(HtmlDocument, HtmlDocument) |
Egy értéket ad vissza, amely jelzi, hogy a megadott HtmlDocument példányok ugyanazt az értéket képviselik-e. |
| Inequality(HtmlDocument, HtmlDocument) |
Olyan értéket ad vissza, amely jelzi, hogy a megadott HtmlDocument példányok nem ugyanazt az értéket képviselik-e. |
esemény
| Name | Description |
|---|---|
| Click |
Akkor fordul elő, ha a felhasználó a dokumentum bármely pontjára kattint. |
| ContextMenuShowing |
Akkor fordul elő, amikor a felhasználó a dokumentum helyi menüjének megjelenítését kéri. |
| Focusing |
A dokumentum fókuszba kerülése előtt történik. |
| LosingFocus |
Akkor fordul elő, amikor a fókusz elhagy egy vezérlőt. |
| MouseDown |
Akkor fordul elő, ha a felhasználó a bal egérgombra kattint. |
| MouseLeave |
Akkor fordul elő, ha az egér már nem mutat a dokumentumra. |
| MouseMove |
Akkor fordul elő, ha az egér átkerül a dokumentum fölé. |
| MouseOver |
Akkor fordul elő, ha az egér átkerül a dokumentum fölé. |
| MouseUp |
Akkor fordul elő, ha a felhasználó felengedi a bal egérgombot. |
| Stop |
Akkor fordul elő, ha egy másik weblapra való navigálás leáll. |