However I was working on a script that required some pretty large files to be downloaded, and using the DownloadFile method has no progress indicator. I figured some users might thing the program died. So I decided to create a method that still uses the webclient to download the files, however give a status of where it is in the download. Here is what I came up with, hopefully someone else will find it useful.