The System.Net.WebClient class has built-in events: DownloadProgressChanged and DownloadFileCompleted . This is the easiest way to get started.
Advanced users expect transfer rate and time remaining — rarely included in basic examples. Vb .Net File Download With Progress
End Class
To download a file with a progress bar in VB.NET, the most efficient approach is using the The System