HtmlDocument Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt programmatische toegang op het hoogste niveau tot een HTML-document dat wordt gehost door het WebBrowser besturingselement.
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- Overname
-
HtmlDocument
Voorbeelden
In het volgende codevoorbeeld worden gegevens uit de Northwind-database gebruikt om een HTML TABLE dynamisch te maken met behulp van CreateElement. De AppendChild methode wordt ook gebruikt, eerst om cellen (TD elementen) toe te voegen aan rijen (TR elementen), vervolgens rijen aan de tabel toe te voegen en ten slotte de tabel toe te voegen aan het einde van het huidige document. Het codevoorbeeld vereist dat uw toepassing een besturingselement met de WebBrowser naam WebBrowser1heeft. De code moet worden aangeroepen nadat een document is geladen.
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
Opmerkingen
HtmlDocument biedt een beheerde wrapper rond het documentobject van Internet Explorer, ook wel bekend als het HTML Document Object Model (DOM). U verkrijgt een exemplaar van HtmlDocument via de Document eigenschap van het WebBrowser besturingselement.
HTML-tags in een HTML-document kunnen in elkaar worden genest. HtmlDocument vertegenwoordigt dus een documentstructuur, waarvan de onderliggende exemplaren van de HtmlElement klasse zijn. In het volgende codevoorbeeld ziet u een eenvoudig HTML-bestand.
<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>
In dit voorbeeld HtmlDocument vertegenwoordigt u het hele document in de HTML tags. De BODY, DIVFORM en SPAN tags worden vertegenwoordigd door afzonderlijke HtmlElement objecten.
Er zijn verschillende manieren waarop u toegang hebt tot de elementen in deze structuur. Gebruik de Body eigenschap om toegang te krijgen tot de BODY tag en alle onderliggende items. De ActiveElement eigenschap geeft u het HtmlElement voor het element op een HTML-pagina met de focus op gebruikersinvoer. Alle elementen in een HTML-pagina kunnen een naam hebben; de All verzameling biedt toegang tot elk HtmlElement met behulp van de naam als een index.
GetElementsByTagName retourneert een HtmlElementCollection van alle HtmlElement objecten met een bepaalde HTML-tagnaam, zoals DIV of TABLE.
GetElementById retourneert de enige HtmlElement die overeenkomt met de unieke id die u opgeeft.
GetElementFromPoint retourneert de HtmlElement die u op het scherm kunt vinden op de opgegeven coördinaten van de muis aanwijzer.
U kunt de Forms en Images verzameling ook gebruiken om te herhalen door elementen die respectievelijk gebruikersinvoerformulieren en afbeeldingen vertegenwoordigen.
HtmlDocument is gebaseerd op de niet-beheerde interfaces die zijn geïmplementeerd door DHTML DOM van Internet Explorer: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 en IHTMLDocument4. Alleen de meest gebruikte eigenschappen en methoden op deze onbeheerde interfaces worden weergegeven door HtmlDocument. U kunt alle andere eigenschappen en methoden rechtstreeks openen met behulp van de DomDocument eigenschap, die u kunt casten naar de gewenste onbeheerde interfacepointer.
Een HTML-document kan frames bevatten, die verschillende vensters in het WebBrowser besturingselement zijn. Elk frame geeft een eigen HTML-pagina weer. De Frames verzameling is beschikbaar via de Window eigenschap. U kunt de eigenschap ook gebruiken om het Window formaat van de weergegeven pagina te wijzigen, door het document te schuiven of waarschuwingen en aanwijzingen voor de gebruiker weer te geven.
HtmlDocument toont de meest voorkomende gebeurtenissen die u verwacht te verwerken bij het hosten van HTML-pagina's. Voor gebeurtenissen die niet rechtstreeks door de interface worden weergegeven, kunt u een handler voor de gebeurtenis toevoegen met behulp van AttachEventHandler.
HTML-bestanden kunnen tags bevatten SCRIPT die code inkapselen die zijn geschreven in een van de actieve scripttalen, zoals JScript of VBScript. De InvokeScript methode biedt de uitvoering van eigenschappen en methoden die zijn gedefinieerd in een SCRIPT tag.
Note
Hoewel de meeste eigenschappen, methoden en gebeurtenissen op HtmlDocument dezelfde namen hebben behouden als op de onbeheerde DOM, zijn sommige gewijzigd voor consistentie met het .NET Framework.
Eigenschappen
| Name | Description |
|---|---|
| ActiveElement |
Biedt de HtmlElement focus die momenteel gebruikersinvoer heeft. |
| ActiveLinkColor |
Hiermee haalt u de Color hyperlink op of stelt u deze in wanneer erop wordt geklikt door een gebruiker. |
| All |
Hiermee wordt een exemplaar opgehaald van HtmlElementCollection, waarin alle HtmlElement objecten voor het document worden opgeslagen. |
| BackColor |
Hiermee haalt u de achtergrondkleur van het HTML-document op of stelt u deze in. |
| Body |
Haalt de HtmlElement |
| Cookie |
Hiermee haalt u de HTTP-cookies op die aan dit document zijn gekoppeld. |
| DefaultEncoding |
Hiermee haalt u de codering op die standaard wordt gebruikt voor het huidige document. |
| Domain |
Hiermee haalt u de tekenreeks op die het domein van dit document beschrijft voor beveiligingsdoeleinden. |
| DomDocument |
Hiermee haalt u de onbeheerde interfacepointer hiervoor HtmlDocumentop. |
| Encoding |
Hiermee haalt u de tekencodering voor dit document op of stelt u deze in. |
| Focused |
Hiermee wordt een waarde opgehaald die aangeeft of het document de focus heeft op gebruikersinvoer. |
| ForeColor |
Hiermee haalt u de tekstkleur voor het document op of stelt u deze in. |
| Forms |
Hiermee haalt u een verzameling van |
| Images |
Hiermee haalt u een verzameling van alle afbeeldingstags in het document op. |
| LinkColor |
Hiermee haalt u de kleur van hyperlinks op of stelt u deze in. |
| Links |
Hiermee haalt u een lijst op van alle hyperlinks in dit HTML-document. |
| RightToLeft |
Hiermee haalt u de tekstrichting op in het huidige document of stelt u deze in. |
| Title |
Hiermee wordt de tekstwaarde van de |
| Url |
Hiermee haalt u de URL op waarin de locatie van dit document wordt beschreven. |
| VisitedLinkColor |
Hiermee wordt de kleur van koppelingen naar HTML-pagina's die de gebruiker al heeft bezocht, ophaalt of ingesteld. |
| Window |
Hiermee haalt u de HtmlWindow gekoppelde aan dit document op. |
Methoden
| Name | Description |
|---|---|
| AttachEventHandler(String, EventHandler) |
Hiermee voegt u een gebeurtenis-handler toe voor de benoemde HTML DOM-gebeurtenis. |
| CreateElement(String) |
Hiermee maakt u een nieuw |
| DetachEventHandler(String, EventHandler) |
Hiermee verwijdert u een gebeurtenis-handler uit een benoemde gebeurtenis in de HTML DOM. |
| Equals(Object) |
Test het object op gelijkheid tegen het huidige object. |
| ExecCommand(String, Boolean, Object) |
Hiermee voert u de opgegeven opdracht uit op het document. |
| Focus() |
Hiermee stelt u de focus op gebruikersinvoer in op het huidige document. |
| GetElementById(String) |
Hiermee haalt u één HtmlElement op met behulp van het kenmerk van |
| GetElementFromPoint(Point) |
Hiermee wordt het HTML-element opgehaald dat zich op de opgegeven clientcoördinaten bevindt. |
| GetElementsByTagName(String) |
Haal een verzameling elementen op met de opgegeven HTML-tag. |
| GetHashCode() |
Haalt de hashcode voor dit object op. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InvokeScript(String, Object[]) |
Hiermee wordt een actieve scriptfunctie uitgevoerd die is gedefinieerd in een HTML-pagina. |
| InvokeScript(String) |
Hiermee wordt een actieve scriptfunctie uitgevoerd die is gedefinieerd in een HTML-pagina. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OpenNew(Boolean) |
Hiermee krijgt u een nieuw HtmlDocument te gebruiken methode Write(String) . |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| Write(String) |
Hiermee schrijft u een nieuwe HTML-pagina. |
Operators
| Name | Description |
|---|---|
| Equality(HtmlDocument, HtmlDocument) |
Retourneert een waarde die aangeeft of de opgegeven HtmlDocument exemplaren dezelfde waarde vertegenwoordigen. |
| Inequality(HtmlDocument, HtmlDocument) |
Retourneert een waarde die aangeeft of de opgegeven HtmlDocument exemplaren niet dezelfde waarde vertegenwoordigen. |
gebeurtenis
| Name | Description |
|---|---|
| Click |
Treedt op wanneer de gebruiker ergens in het document klikt. |
| ContextMenuShowing |
Treedt op wanneer de gebruiker vraagt om het contextmenu van het document weer te geven. |
| Focusing |
Treedt op voordat de focus wordt gegeven aan het document. |
| LosingFocus |
Treedt op wanneer de focus een besturingselement verlaat. |
| MouseDown |
Treedt op wanneer de gebruiker op de linkermuisknop klikt. |
| MouseLeave |
Treedt op wanneer de muis niet meer over het document beweegt. |
| MouseMove |
Treedt op wanneer de muis over het document wordt verplaatst. |
| MouseOver |
Treedt op wanneer de muis over het document wordt verplaatst. |
| MouseUp |
Treedt op wanneer de gebruiker de linkermuisknop loslaat. |
| Stop |
Treedt op wanneer de navigatie naar een andere webpagina wordt gestopt. |