Il problema è che non sai quanto tempo ci metterà...
Puoi fare un thread che tramite invoke (la progress bar sta in un altro thread) aumenta il valore della barra di un tot e che cicle finchè il caricamento non è concluso ( e quindi non intercetta un determinato evento..
Però non hai la stima del massimo tempo che ci impiega.. quindi la progress bar sarebbe mooolto finta..
Per non parlare della complessità di questo procedimento..
Quindi se non sei esperto di operazioni crossthread, eventi ecc.. ti consiglio una semplice label con scritto "caricamento in corso"..