Que tal Ray, no tengo ningún código generado tal cual tu lo necesitas. Cuando he tenido ese problema (más bien necesidad) lo que hago es que cambio el puntero del mouse al reloj de arena para indicarle al usuario que la pc esta trabajando.
Pero sabes, se me ocurre una idea de como podrias hacer para que funcione con el progress bar (tal vez no sea la solución más estetica, pero creo que puede funcionar). Al momento de que recuperas los datos, puedes realizar una consulta para averiguar el número de elementos que regresará el programa, posteriormente, ese conteo lo asignas a la propiedad max del progress bar.