日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

HtmlDocument Class (System.Windows.Forms) | Microsoft Docs

 行走在理想邊緣 2019-03-25

HtmlDocument Class

定義

  • Assembly:
  • System.Windows.Forms.dll

提供對 WebBrowser 控件承載的 HTML 文檔的頂級編程訪問。

C#
public sealed class HtmlDocument

示例

下面的代碼示例使用 Northwind 數據庫中的數據來創(chuàng)建HTML TABLE動態(tài)使用CreateElement。 AppendChild方法還使用,首先要添加的單元格 (TD元素) 到行 (TR元素),然后將行添加到表中,最后,將表追加到當前文檔的末尾。 代碼示例要求您的應用程序具有WebBrowser名為控件WebBrowser1。 加載文檔之后,應調用代碼。

C#
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);
            }
        }
    }
}

注解

HtmlDocument 提供 Internet Explorer 文檔對象,也稱為 HTML 文檔對象模型 (DOM) 的托管的包裝。 獲取的實例HtmlDocument通過Document屬性的WebBrowser控件。

在 HTML 文檔內部的 HTML 標記可以嵌套在另一個。 HtmlDocument 因此表示其子級是實例的文檔樹的HtmlElement類。 下面的代碼示例顯示了一個簡單的 HTML 文件。

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

在此示例中,HtmlDocument表示整個文檔內的HTML標記。 BODY, DIVFORMSPAN標記由個人HtmlElement對象。

有幾種方法可以訪問此樹中的元素。 使用Body屬性來訪問BODY標記和所有子項。 ActiveElement屬性可讓您HtmlElement上具有用戶輸入的焦點的 HTML 頁面元素。 HTML 頁中的所有元素可以都有一個名稱;All集合提供對每個訪問HtmlElement使用其名稱作為索引。 GetElementsByTagName 將返回HtmlElementCollection的所有HtmlElement對象使用給定的 HTML 標記名稱,如DIVTABLE。 GetElementById 將返回單個HtmlElement對應于你提供的唯一 ID。 GetElementFromPoint 將返回HtmlElement可提供的鼠標指針坐標在屏幕上找到。

此外可以使用FormsImages集合進行循環(huán)訪問元素表示用戶分別輸入窗體和圖形。

HtmlDocument 基于由 Internet Explorer 的 DHTML DOM 實現的非托管接口: IHTMLDocumentIHTMLDocument2, IHTMLDocument3,和IHTMLDocument4。 僅最常用的屬性和方法在這些非托管接口上的公開的HtmlDocument。 您可以訪問所有其他屬性和方法直接使用DomDocument屬性,您可以強制轉換為所需的非托管的接口指針。

一個 HTML 文檔可能包含不同的窗口的幀內的WebBrowser控件。 每個幀將顯示其自身 HTML 頁。 Frames集合是可通過Window屬性。 此外可以使用Window屬性來調整大小所顯示的頁面,滾動文檔,或顯示警報,并向用戶提示。

HtmlDocument 公開可能希望處理托管 HTML 頁面時的最常見事件。 對于不直接通過該接口公開的事件,可以添加的事件使用的處理程序AttachEventHandler。

HTML 文件可能包含SCRIPT封裝在一個活動腳本語言,如 JScript 或 VBScript 編寫的代碼的標記。 InvokeScript方法用于執(zhí)行屬性和方法中定義SCRIPT標記。

備注

盡管大多數屬性、 方法和事件上HtmlDocument具有保留相同的名稱,因為它們對非托管的 DOM 與某些已更改為與一致.NET Framework。

屬性

ActiveElement

提供當前具有用戶輸入焦點的 HtmlElement

ActiveLinkColor

獲取或設置超鏈接被用戶單擊后的 Color。

All

獲取 HtmlElementCollection 的實例,該實例存儲文檔的所有 HtmlElement 對象。

BackColor

獲取或設置 HTML 文檔的背景色。

Body

獲取 BODY 標記的 HtmlElement。

Cookie

獲取或設置與此文檔關聯(lián)的 HTTP Cookie。

DefaultEncoding

獲取默認情況下為當前文檔使用的編碼。

Domain

獲取或設置字符串,描述用于安全目的的此文檔的域。

DomDocument

獲取此 HtmlDocument 的非托管接口指針。

Encoding

獲取或設置此文檔的字符編碼。

Focused

獲取一個值,該值指示文檔是否具有用戶輸入焦點。

ForeColor

獲取或設置文檔的文本顏色。

Forms

獲取文檔中所有 <FORM> 元素的集合。

Images

獲取文檔中所有圖像標記的集合。

LinkColor

獲取或設置超鏈接的顏色。

Links

獲取此 HTML 文檔中所有超鏈接的列表。

RightToLeft

獲取或設置當前文檔中文本的方向。

Title

獲取或設置當前 HTML 文檔中 <TITLE> 標記的文本值。

Url

獲取描述此文檔位置的 URL。

VisitedLinkColor

獲取或設置用戶已經訪問的鏈接(指向 HTML 頁)的顏色。

Window

獲取與此文檔關聯(lián)的 HtmlWindow

方法

AttachEventHandler(String, EventHandler)

為已命名的 HTML DOM 事件添加事件處理程序。

CreateElement(String)

新建一個指定 HTML 標記類型的 HtmlElement。

DetachEventHandler(String, EventHandler)

從 HTML DOM 上的命名事件中移除事件處理程序。

Equals(Object)

測試對象是否與當前對象相等。

ExecCommand(String, Boolean, Object)

對文檔執(zhí)行指定的命令。

Focus()

在當前文檔上設置用戶輸入焦點。

GetElementById(String)

將元素的 ID 特性用作搜索鍵來檢索單個 HtmlElement。

GetElementFromPoint(Point)

檢索位于指定工作區(qū)坐標位置的 HTML 元素。

GetElementsByTagName(String)

檢索具有指定 HTML 標記的元素集合。

GetHashCode()

檢索此對象的哈希代碼。

GetType()

獲取當前實例的 Type。

(Inherited from Object)
InvokeScript(String)

執(zhí)行在 HTML 頁面中定義的活動腳本函數。

InvokeScript(String, Object[])

執(zhí)行在 HTML 頁面中定義的活動腳本函數。

MemberwiseClone()

創(chuàng)建當前 Object 的淺表副本。

(Inherited from Object)
OpenNew(Boolean)

獲取一個新的 HtmlDocument,以便與 Write(String) 方法一起使用。

ToString()

返回表示當前對象的字符串。

(Inherited from Object)
Write(String)

編寫一個新的 HTML 頁。

事件

Click

當用戶單擊文檔上的任何位置時發(fā)生。

ContextMenuShowing

當用戶請求顯示文檔的上下文菜單時發(fā)生。

Focusing

在將焦點提供給文檔之前發(fā)生。

LosingFocus

在焦點離開控件時發(fā)生。

MouseDown

當用戶單擊鼠標左鍵時發(fā)生。

MouseLeave

當鼠標不再懸停于文檔上時發(fā)生。

MouseMove

當鼠標移到文檔上時發(fā)生。

MouseOver

當鼠標移到文檔上時發(fā)生。

MouseUp

當用戶釋放鼠標左鍵時發(fā)生。

Stop

當向其他網頁的導航被中斷時發(fā)生。

操作員

Equality(HtmlDocument, HtmlDocument)

返回一個值,該值指示指定的 HtmlDocument 實例是否表示同一個值。

Inequality(HtmlDocument, HtmlDocument)

返回一個值,該值指示指定的 HtmlDocument 實例是否不表示同一個值。

適用于

.NET Core

3.0 Preview 2

.NET Framework

4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0

另請參閱

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多