2009年3月5日 星期四

WebBrowser 控制項概觀

WebBrowser 控制項概觀

WebBrowser 控制項提供 WebBrowser ActiveX 控制項的 Managed 包裝函式。Managed 包裝函式可以讓您在 Windows Form 用戶端應用程式中顯示 Web 網頁。您可以使用 WebBrowser 控制項在應用程式中複製 Internet Explorer Web 瀏覽功能,或停用預設 Internet Explorer 功能並將控制項做為簡易的 HTML 文件檢視器。您也可以使用此控制項,將 DHTML 使用者介面項目加入至表單,並隱藏項目實際上是裝載在 WebBrowser 控制項中的事實。這項處理方法讓您完美地將 Web 控制項和 Windows Form 控制項結合到單一的應用程式中。

常用的屬性、方法和事件
WebBrowser 控制項有數個屬性、方法和事件,可用來實作 Internet Explorer 的控制項。例如,您可以使用 Navigate 方法來實作網址列,使用 GoBack、GoForward、Stop 和 Refresh 方法來實作工具列上的巡覽按鈕。可以處理 Navigated 事件,使用 Url 屬性的值來更新網址列,使用 DocumentTitle 屬性的值來更新標題列。

如果您想要在應用程式中產生自己的網頁內容,可以設定 DocumentText 屬性。如果您熟悉 HTML 文件物件模型 (DOM),也可以透過 Document 屬性來處理目前的 Web 網頁內容。您可以使用這個屬性來儲存和修改記憶體中的文件,而不必在檔案之間巡覽。

相關屬性
Document 屬性也讓您從用戶端應用程式程式碼呼叫在 Web 網頁指令碼中實作的方法。若要從指令碼存取用戶端應用程式,請設定 ObjectForScripting 屬性。指令碼可以將您指定的物件當做 window.external 物件來存取。

Document 屬性 取得物件,以對目前 Web 網頁的 HTML 文件物件模型 (DOM) 提供 Managed 存取。

DocumentCompleted 事件 當 Web 網頁結束載入時發生。

DocumentText 屬性 屬性 取得或設定目前 Web 網頁的 HTML 內容。

DocumentTitle 屬性 取得目前 Web 網頁的標題。

GoBack 方法 巡覽至記錄中的上一頁。

GoForward 方法 巡覽至記錄的下一頁。

Navigate 方法 巡覽至指定的 URL。

Navigating 事件 在巡覽開始之前發生,讓動作可以取消。

ObjectForScripting 屬性 取得或設定物件,Web 網頁指令碼可以用來與應用程式通訊。

Print 方法 列印目前的 Web 網頁。

Refresh 方法 重新載入目前的 Web 網頁。

Stop 方法 中止目前的巡覽,並停止動態網頁項目 (例如音效和動畫)。

Url 屬性 取得或設定目前 Web 網頁的 URL。設定這個屬性,會將控制項巡覽至新的 URL。

工作
HOW TO:使用 WebBrowser 控制項巡覽至 URL
HOW TO:使用 WebBrowser 控制項列印
HOW TO:將 Web 瀏覽器功能加入至 Windows Form 應用程式
HOW TO:在 Windows Form 應用程式中建立 HTML 文件檢視器
HOW TO:實作 DHTML 程式碼和用戶端應用程式程式碼之間的雙向通訊

-------------------------------------------------------------------------------
WebBrowser.DocumentCompleted 事件
注意:這個事件是 .NET Framework 2.0 版的新功能。

發生於 WebBrowser 控制項完成文件的載入時。

命名空間: System.Windows.Forms
組件: System.Windows.Forms (在 system.windows.forms.dll 中)

只要設定下列其中一個屬性,或呼叫下列其中一個方法時,WebBrowser 控制項就會巡覽至新文件:
Url
DocumentText
DocumentStream
Navigate
GoBack
GoForward
GoHome
GoSearch
處理 DocumentCompleted 事件,以便能在完成新文件的載入時收到告知。發生 DocumentCompleted 事件時,會完整載入新的文件,這表示您可透過 Document、DocumentText 或 DocumentStream 屬性存取該文件的內容。
若要在開始巡覽之前收到告知,請處理 Navigating 事件。如果未符合特定條件 (例如,使用者未完整填寫表單時),則處理這個事件可讓您取消巡覽。處理 Navigated 事件,以便能在 WebBrowser 控制項完成巡覽且已開始在新的位置載入文件時收到告知。
如需處理事件的詳細資訊,請參閱使用事件

下列程式碼範例示範如何使用這個事件,在文件完全載入之後列印它。
Private Sub PrintHelpPage()
' Create a WebBrowser instance.
Dim webBrowserForPrinting As New WebBrowser()

' Add an event handler that prints the document after it loads.
AddHandler webBrowserForPrinting.DocumentCompleted, New _
WebBrowserDocumentCompletedEventHandler(AddressOf PrintDocument)

' Set the Url property to load the document.
webBrowserForPrinting.Url = New Uri("\\myshare\help.html")
End Sub

Private Sub PrintDocument(ByVal sender As Object, _
ByVal e As WebBrowserDocumentCompletedEventArgs)
Dim webBrowserForPrinting As WebBrowser = CType(sender, WebBrowser)

' Print the document now that it is fully loaded.
' webBrowserForPrinting.Print()
MessageBox.Show("print")

' Dispose the WebBrowser now that the task is complete.
webBrowserForPrinting.Dispose()
End Sub

沒有留言:

張貼留言