2014-04-07 3 views
2

следующий код используется для загрузки файла ехе из DriveHQкак установить ProgressBar при загрузке файлов с FTP

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Try 
     Dim strFTPpath, strDestPath As String 
     Cursor.Current = Cursors.WaitCursor 
     'strFTPpath is the url of where Latest upd is located 
     'strDestPath is system path to dwonload upd from FTP 
     strFTPpath = "ftp://MYUSRNAM:[email protected]/rstari9kremcos/RStari9.exe" 
     strDestPath = "D:\Rstari9\GDS\RStari9.exe" 
     My.Computer.Network.DownloadFile(strFTPpath, strDestPath) 
     Cursor.Current = Cursors.Arrow 
     Button1.Enabled = False 
     MsgBox("latest updation successfully downloaded to 'D:\Rstari9\GDS\RStari9.exe'", MsgBoxStyle.Information, "RStari9 - Download Success") 
    Catch ex As Exception 
     MsgBox(ex.Message, MsgBoxStyle.Information, "Update downloading aborted...") 
    End Try 
End Sub 

и this is my UI to download, я хочу, чтобы добавить прогрессбар в нем

код: VB.NET

+2

Не делайте этого в потоке пользовательского интерфейса или он остановит ваш интерфейс до конца. Используйте BackgroundWorker. С помощью DownloadFile() вы не получите уведомлений о статусе загрузки, чтобы не показывать индикатор выполнения (если только вы не хотите выделение). Что вы можете сделать, так это установить для параметра showUi значение true. –

+0

@Adriano любой пример ??? –

+1

Попробуйте [this] (http://msdn.microsoft.com/en-us/library/ms229675 (v = vs.90) .aspx), это не совсем то, что вы делаете, но это объяснит технику. –

ответ

0

My.Computer.Network.DownloadFile имеет параметр showUI, вы можете установить его на «Истина» на , отображающий ход операции. Вы можете изменить свой код таким образом:

My.Computer.Network.DownloadFile(strFTPpath, strDestPath, "", "", True, 100000, False) 

К сожалению, My.Computer.Network.DownloadFile не имеет способ загрузить файл асинхронно, так что вы должны использовать что-то другое, если вы хотите развить свой собственный пользовательский интерфейс.

Смежные вопросы