다음을 통해 공유


HtmlDocument 클래스

정의

WebBrowser 컨트롤에 호스트된 HTML 문서를 최상위 수준의 프로그래밍 방식으로 액세스할 수 있도록 합니다.

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
상속
HtmlDocument

예제

다음 코드 예제에서는 Northwind 데이터베이스에서 데이터를 사용 하 여 만들려는 HTML TABLE 동적으로 사용 하 여 CreateElement입니다. AppendChild 메서드는 또한, 먼저 셀을 추가 하려면 (TD 요소) 행 (TR 요소), 다음 테이블에 행을 추가 하려면 마지막으로 현재 문서의 끝에 테이블을 추가할. 이 코드 예제 애플리케이션에 WebBrowser 제어 라는 WebBrowser1합니다. 문서를 로드 한 후 코드를 호출 해야 합니다.

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

설명

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, DIV, FORM 하 고 SPAN 태그는 개별적으로 표시 됩니다 HtmlElement 개체입니다.

여러 가지 방법으로이 트리에서 요소에 액세스할 수 있습니다. 사용 합니다 Body 속성에 액세스를 BODY 태그와 모든 자식입니다. 합니다 ActiveElement 속성을 사용 하면는 HtmlElement 사용자 입력 포커스가 있는 HTML 페이지의 요소에 대 한 합니다. HTML 페이지 내에서 모든 요소는 이름이 있습니다. 합니다 All 각각에 대 한 액세스를 제공 하는 컬렉션 HtmlElement 해당 이름을 인덱스로 사용 하 여 합니다. GetElementsByTagName 반환 합니다는 HtmlElementCollection 모든 HtmlElement 와 같은 지정 된 HTML 태그 이름으로 개체 DIV 또는 TABLE합니다. GetElementById 단일 돌아갑니다 HtmlElement 제공 하는 고유 ID에 해당 합니다. GetElementFromPoint 돌아갑니다는 HtmlElement 화면에 제공 된 마우스 포인터의 좌표를 찾을 수 있습니다.

사용할 수도 있습니다는 FormsImages 각각 나타내는 사용자 요소를 반복 하는 컬렉션 입력 폼, 그래픽 등입니다.

HtmlDocument Internet Explorer의 DHTML DOM으로 구현 된 관리 되지 않는 인터페이스를 기반으로 합니다. IHTMLDocument, IHTMLDocument2, IHTMLDocument3, 및 IHTMLDocument4합니다. 가장 자주 사용 되는 속성에 의해 관리 되지 않는 이러한 인터페이스에 메서드 노출 되 고 HtmlDocument입니다. 다른 모든 속성 및 메서드를 사용 하 여 직접 액세스할 수 있습니다는 DomDocument 속성에 원하는 관리 되지 않는 인터페이스 포인터에 캐스팅할 수 있습니다.

HTML 문서는 다양 한 창 프레임을 포함할 수 있습니다 안에 WebBrowser 제어 합니다. 각 프레임에는 자체 HTML 페이지가 표시 됩니다. Frames 컬렉션을 통해 제공 되는 Window 속성. 사용할 수도 있습니다는 Window 속성을 표시 된 페이지 크기 조정 문서 스크롤하거나 표시할 경고 및 사용자에 게 메시지를 표시 합니다.

HtmlDocument HTML 페이지를 호스팅하는 경우를 처리 하는 가장 일반적인 이벤트를 노출 합니다. 인터페이스에서 직접 노출 되지 않는 이벤트를 사용 하 여 이벤트 처리기를 추가할 수 있습니다 AttachEventHandler합니다.

HTML 파일에 포함 될 수 있습니다 SCRIPT JScript 또는 VBScript와 같은 액티브 스크립팅 언어 중 하나로 작성 된 코드를 캡슐화 하는 태그입니다. InvokeScript 에 정의 된 메서드 및 속성의 실행에 대 한 메서드는 제공 된 SCRIPT 태그입니다.

참고

대부분의 속성, 메서드 및 이벤트는 HtmlDocument 관리되지 않는 DOM에서와 동일한 이름을 유지하지만 일부는 .NET Framework 일관성을 위해 변경되었습니다.

속성

ActiveElement

현재 입력 포커스가 있는 HtmlElement를 제공합니다.

ActiveLinkColor

사용자가 클릭할 때 하이퍼링크의 Color를 가져오거나 설정합니다.

All

문서의 모든 HtmlElementCollection 개체를 저장하는 HtmlElement 인스턴스를 가져옵니다.

BackColor

HTML 문서의 배경색을 가져오거나 설정합니다.

Body

BODY 태그에 대한 HtmlElement를 가져옵니다.

Cookie

이 문서와 연결된 HTTP 쿠키를 가져오거나 설정합니다.

DefaultEncoding

현재 문서에 기본적으로 사용되는 인코딩을 가져옵니다.

Domain

보안상의 이유로 이 문서의 도메인을 설명하는 문자열을 가져오거나 설정합니다.

DomDocument

HtmlDocument에 대한 관리되지 않는 인터페이스 포인터를 가져옵니다.

Encoding

이 문서에 대한 문자 인코딩을 가져오거나 설정합니다.

Focused

문서에 사용자 입력 포커스가 있는지 여부를 나타내는 값을 가져옵니다.

ForeColor

문서의 텍스트 색을 가져오거나 설정합니다.

Forms

문서에 있는 모든 FORM> 요소의< 컬렉션을 가져옵니다.

Images

문서에 있는 모든 이미지 태그의 컬렉션을 가져옵니다.

LinkColor

하이퍼링크의 색을 가져오거나 설정합니다.

Links

이 HTML 문서 내의 모든 하이퍼링크 목록을 가져옵니다.

RightToLeft

현재 문서의 텍스트 방향을 가져오거나 설정합니다.

Title

현재 HTML 문서에서 TITLE> 태그의< 텍스트 값을 가져오거나 설정합니다.

Url

이 문서의 위치를 설명하는 URL을 가져옵니다.

VisitedLinkColor

사용자가 이미 방문한 HTML 페이지의 링크 색을 가져오거나 설정합니다.

Window

이 문서와 연결된 HtmlWindow를 가져옵니다.

메서드

AttachEventHandler(String, EventHandler)

명명된 HTML DOM 이벤트에 대한 이벤트 처리기를 추가합니다.

CreateElement(String)

지정한 HTML 태그 형식의 새 HtmlElement를 만듭니다.

DetachEventHandler(String, EventHandler)

HTML DOM의 명명된 이벤트에서 이벤트 처리기를 제거합니다.

Equals(Object)

현재 개체와 해당 개체가 같은지를 테스트합니다.

ExecCommand(String, Boolean, Object)

문서에 대해 지정한 명령을 실행합니다.

Focus()

현재 문서에 사용자 입력 포커스를 설정합니다.

GetElementById(String)

요소의 ID 특성을 검색 키로 사용하여 단일 HtmlElement를 검색합니다.

GetElementFromPoint(Point)

지정한 클라이언트 좌표에 있는 HTML 요소를 검색합니다.

GetElementsByTagName(String)

지정한 HTML 태그가 있는 요소의 컬렉션을 검색합니다.

GetHashCode()

이 개체의 해시 코드를 검색합니다.

GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InvokeScript(String)

HTML 페이지에 정의된 액티브 스크립트 함수를 실행합니다.

InvokeScript(String, Object[])

HTML 페이지에 정의된 액티브 스크립트 함수를 실행합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OpenNew(Boolean)

HtmlDocument 메서드와 함께 사용할 새 Write(String)를 가져옵니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
Write(String)

새 HTML 페이지를 작성합니다.

연산자

Equality(HtmlDocument, HtmlDocument)

지정된 HtmlDocument 인스턴스가 같은 값을 표시하는지 여부를 나타내는 값을 반환합니다.

Inequality(HtmlDocument, HtmlDocument)

지정된 HtmlDocument 인스턴스가 같은 값을 표시하지 않는지 여부를 나타내는 값을 반환합니다.

이벤트

Click

사용자가 문서의 아무 위치나 클릭하면 발생합니다.

ContextMenuShowing

사용자가 문서의 상황에 맞는 메뉴를 표시하도록 요청할 때 발생합니다.

Focusing

문서에 포커스가 지정되기 전에 발생합니다.

LosingFocus

포커스가 컨트롤을 벗어나는 동안 발생합니다.

MouseDown

사용자가 왼쪽 마우스 단추를 클릭하면 발생합니다.

MouseLeave

마우스가 문서를 더 이상 가리키지 않을 때 발생합니다.

MouseMove

마우스를 문서 위로 이동하면 발생합니다.

MouseOver

마우스를 문서 위로 이동하면 발생합니다.

MouseUp

사용자가 왼쪽 마우스 단추를 놓으면 발생합니다.

Stop

다른 웹 페이지에 대한 탐색이 중단되면 발생합니다.

적용 대상

추가 정보