HtmlDocument Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ger programmatisk åtkomst på den översta nivån till ett HTML-dokument som hanteras av WebBrowser kontrollen.
public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
- Arv
-
HtmlDocument
Exempel
I följande kodexempel används data från Northwind-databasen för att skapa en HTML TABLE dynamiskt med hjälp av CreateElement. Metoden AppendChild används också, först för att lägga till celler (TD element) till rader (TR element), sedan lägga till rader i tabellen och slutligen lägga till tabellen i slutet av det aktuella dokumentet. Kodexemplet kräver att programmet har en WebBrowser kontroll med namnet WebBrowser1. Koden ska anropas när ett dokument har lästs in.
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
Kommentarer
HtmlDocument innehåller en hanterad omslutning runt Internet Explorer dokumentobjekt, även kallat HTML-dokumentobjektmodellen (DOM). Du får en instans av HtmlDocument via Document kontrollens WebBrowser egenskap.
HTML-taggar i ett HTML-dokument kan kapslas i varandra. HtmlDocument representerar alltså ett dokumentträd, vars underordnade är instanser av HtmlElement klassen. I följande kodexempel visas en enkel HTML-fil.
<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>
I det här exemplet HtmlDocument representerar hela dokumentet inuti taggarna HTML . Taggarna BODY, DIVFORMoch SPAN representeras av enskilda HtmlElement objekt.
Det finns flera sätt att komma åt elementen i det här trädet. Använd egenskapen Body för att komma åt taggen BODY och alla dess underordnade objekt. Egenskapen ActiveElement ger dig HtmlElement för -elementet på en HTML-sida som har användarens indatafokus. Alla element på en HTML-sida kan ha ett namn. samlingen All ger åtkomst till var och HtmlElement en med dess namn som ett index.
GetElementsByTagName returnerar ett HtmlElementCollection av alla HtmlElement objekt med ett angivet HTML-taggnamn, till exempel DIV eller TABLE.
GetElementById returnerar den enda som HtmlElement motsvarar det unika ID som du anger.
GetElementFromPoint returnerar HtmlElement det som finns på skärmen vid de angivna muspekarkoordinaterna.
Du kan också använda Forms samlingen och Images för att iterera genom element som representerar användarindataformulär respektive grafik.
HtmlDocument baseras på ohanterade gränssnitt som implementeras av Internet Explorer DHTML DOM: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 och IHTMLDocument4. Endast de vanligaste egenskaperna och metoderna i dessa ohanterade gränssnitt exponeras av HtmlDocument. Du kan komma åt alla andra egenskaper och metoder direkt med hjälp av DomDocument egenskapen, som du kan casta till önskad ohanterad gränssnittspekare.
Ett HTML-dokument kan innehålla ramar, som är olika fönster inuti WebBrowser kontrollen. Varje bildruta visar en egen HTML-sida. Samlingen Frames är tillgänglig via egenskapen Window . Du kan också använda Window egenskapen för att ändra storlek på den visade sidan, bläddra i dokumentet eller visa aviseringar och uppmaningar till användaren.
HtmlDocument exponerar de vanligaste händelserna som du förväntar dig att hantera när du är värd för HTML-sidor. För händelser som inte exponeras direkt av gränssnittet kan du lägga till en hanterare för händelsen med hjälp av AttachEventHandler.
HTML-filer kan innehålla SCRIPT taggar som kapslar in kod som skrivits på något av active scripting-språken, till exempel JScript eller VBScript. Metoden InvokeScript tillhandahåller körning av egenskaper och metoder som definierats i en SCRIPT tagg.
Note
Även om de flesta egenskaper, metoder och händelser på HtmlDocument har behållit samma namn som de har på den ohanterade DOM, har vissa ändrats för konsekvens med .NET Framework.
Egenskaper
| Name | Description |
|---|---|
| ActiveElement |
Tillhandahåller som HtmlElement för närvarande har fokus på användarindata. |
| ActiveLinkColor |
Hämtar eller anger Color en hyperlänk när en användare klickar på den. |
| All |
Hämtar en instans av HtmlElementCollection, som lagrar alla HtmlElement objekt för dokumentet. |
| BackColor |
Hämtar eller anger bakgrundsfärgen för HTML-dokumentet. |
| Body |
HtmlElement Hämtar för taggen |
| Cookie |
Hämtar eller anger DE HTTP-cookies som är associerade med det här dokumentet. |
| DefaultEncoding |
Hämtar kodningen som används som standard för det aktuella dokumentet. |
| Domain |
Hämtar eller anger strängen som beskriver domänen för det här dokumentet i säkerhetssyfte. |
| DomDocument |
Hämtar den ohanterade gränssnittspekaren för den här HtmlDocument. |
| Encoding |
Hämtar eller anger teckenkodningen för det här dokumentet. |
| Focused |
Hämtar ett värde som anger om dokumentet har användarens indatafokus. |
| ForeColor |
Hämtar eller anger textfärgen för dokumentet. |
| Forms |
Hämtar en samling med |
| Images |
Hämtar en samling med alla bildtaggar i dokumentet. |
| LinkColor |
Hämtar eller anger färg på hyperlänkar. |
| Links |
Hämtar en lista över alla hyperlänkar i det här HTML-dokumentet. |
| RightToLeft |
Hämtar eller anger textriktningen i det aktuella dokumentet. |
| Title |
Hämtar eller anger textvärdet för taggen |
| Url |
Hämtar URL:en som beskriver platsen för det här dokumentet. |
| VisitedLinkColor |
Hämtar eller anger färgen på länkar till HTML-sidor som användaren redan har besökt. |
| Window |
Hämtar associerad HtmlWindow med det här dokumentet. |
Metoder
| Name | Description |
|---|---|
| AttachEventHandler(String, EventHandler) |
Lägger till en händelsehanterare för den namngivna HTML DOM-händelsen. |
| CreateElement(String) |
Skapar en ny |
| DetachEventHandler(String, EventHandler) |
Tar bort en händelsehanterare från en namngiven händelse i HTML DOM. |
| Equals(Object) |
Testar objektet för likhet med det aktuella objektet. |
| ExecCommand(String, Boolean, Object) |
Kör det angivna kommandot mot dokumentet. |
| Focus() |
Anger användarens indatafokus på det aktuella dokumentet. |
| GetElementById(String) |
Hämtar en enda HtmlElement med elementets |
| GetElementFromPoint(Point) |
Hämtar HTML-elementet som finns vid de angivna klientkoordinaterna. |
| GetElementsByTagName(String) |
Hämta en samling element med den angivna HTML-taggen. |
| GetHashCode() |
Hämtar hash-koden för det här objektet. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InvokeScript(String, Object[]) |
Kör en active scripting-funktion som definierats på en HTML-sida. |
| InvokeScript(String) |
Kör en active scripting-funktion som definierats på en HTML-sida. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OpenNew(Boolean) |
Hämtar en ny HtmlDocument att använda med Write(String) -metoden. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| Write(String) |
Skriver en ny HTML-sida. |
Operatorer
| Name | Description |
|---|---|
| Equality(HtmlDocument, HtmlDocument) |
Returnerar ett värde som anger om de angivna HtmlDocument instanserna representerar samma värde. |
| Inequality(HtmlDocument, HtmlDocument) |
Returnerar ett värde som anger om de angivna HtmlDocument instanserna inte representerar samma värde. |
Händelser
| Name | Description |
|---|---|
| Click |
Inträffar när användaren klickar var som helst i dokumentet. |
| ContextMenuShowing |
Inträffar när användaren begär att dokumentets snabbmeny ska visas. |
| Focusing |
Inträffar innan fokus ges till dokumentet. |
| LosingFocus |
Inträffar när fokus lämnar en kontroll. |
| MouseDown |
Inträffar när användaren klickar på den vänstra musknappen. |
| MouseLeave |
Inträffar när musen inte längre hovrar över dokumentet. |
| MouseMove |
Inträffar när musen flyttas över dokumentet. |
| MouseOver |
Inträffar när musen flyttas över dokumentet. |
| MouseUp |
Inträffar när användaren släpper den vänstra musknappen. |
| Stop |
Inträffar när navigeringen till en annan webbsida stoppas. |