Two problems here:
1) You call the method that does the work from your Form.Load event handler - when that is called, the form has not been prepared fro display yet, and cannot be visible. So you can;t use a progress bar at all as the user will not be able to see it!
Since WebClient.DownloadData is a blocking method, the form cannot be displayed until after it is completed (and the Form.Shown event is complete).
Even for a single file, you need to move that into a separate thread if you want a progress indicator, and I'd strongly recommend both using a
BackgroundWorker Class (System.ComponentModel) | Microsoft Docs[
^] instance to do the work (as it provided a Progress reporting methodology) and using
WebClient.DownloadDataAsync Method (System.Net) | Microsoft Docs[
^] in combination with Sleep to update progress.
You should also kick this off from the Form.Shown event instead of the Form.Load event.
To download multiple files, all you then need is a loop in your BackgroundWorker.DoWork handler to create new WebClients and download the data one after another.