Nyelv

HtmlDocument Osztály

Definíció

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

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 <FORM> dokumentum összes elemének gyűjteményét.

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 <TITLE> címke szöveges értékét az aktuális HTML-dokumentumban.

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 HtmlElement a megadott HTML-címketípusból.

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 ID keresési kulcsként.

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.

A következőre érvényes:

Lásd még