[VB2010]HyperURLGetter─專門讀取網路資源的類別

HyperURLGetter類別使用方法

在Windows Form應用程式專案內加入HyperURLGetter類別

使用HyperURLGetter類別之前,需先將它加入到專案內。以前我習慣另外新增一個模組(Module)來放自己寫的Public Class,但是這個HyperURLGetter實在是有點龐大,乾脆把它另外獨立成一個Class檔案吧!因此若要使用HyperURLGetter,請先加入類別

取好類別的檔案名稱後按下「新增」。

貼上文章第一頁提供的一大串HyperURLGetter類別程式碼。

基礎使用範例

建構HyperURLGetter實體

首先要在Form(以Form1為例)內宣告一個全域變數(以DownloadManager為例,可自行更改),並運用WithEvents建立帶有事件的HyperURLGetter類別實體。建構的方法有三種,分別如下:

Dim WithEvents Client As New Net.WebClient()
Client.DownloadFileAsync(New Uri("網址輸入在此"), "儲存路徑輸入在此")
Client.CancelAsync()

在此以下載小紅傘的安裝程式為例。

Private Sub Client_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles Client.DownloadProgressChanged '當Client正在下載時
'e.BytesReceived 取得已下載的檔案大小
'e.TotalBytesToReceive 取得總共要下載的檔案大小
'e.ProgressPercentage 取得目前的下載進度百分比(整數)
End Sub

佈置表單控制項元件

表單控制項元件可以任意佈置,沒有硬性規定哪些一定要有。在這裡我佈置Button(Button1)和ProgressBar(ProgressBar1)各一個。按下Button1會讓下載程序開始,ProgressBar1會顯示目前的下載進度。布置結果如下圖:

撰寫事件

接著要撰寫Button1的Click事件,和DownloadManager的ProgressLoading與ProgressCompleted事件。完成後的程式碼如下:

Private Sub Client_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles Client.DownloadFileCompleted '當Clien結束下載
'e.Cancelled 判斷是否為中斷(取消)下載
'e.Error '判斷下載過程是否因發生錯誤而停止下載
End Sub

執行

程式碼撰寫完畢後,就可以執行了。首先按下「Button1」,觸發Click事件,讓HyperURLGetter實體開始進行網路資源的讀取程序。

進度列也會隨著下載進度而變化。

在HyperURLGetter讀取網路資源的過程中,可以在底下的「即時運算視窗」看到即時的網路連線狀況。

文章分類:VB.net|標籤:, , , , , ,

迴響已關閉