Schon klar.
ABER: Der Server generiert entweder (X)
HTML-Code der an den Client (Browser) geschickt und dort gerendert wird oder Bilder, die an den Client geschickt und von diesem angezeigt werden. Wobei letztere bei Bedarf mithilfe von System.Drawing auch selber gezeichnet werden können.
Das heisst: Wenn Du (User-)Controls designen willst, dann bleiben Dir Serverseitig genau diese zwei Mittel:
HTML / CSS und Grafiken. Clientseitig gibts dann noch Javascript, mit dem Du Grafiken verändern kannst (z.B. anhand von Informationen, die sich das Script dynamisch vom Server nachlädt, Stichwort AJAX). Dazwischen gibts im Web nix.
Wenn Du eine Progress-Bar von Hand machen willst, dann bleiben Dir zwei Möglichkeiten: Ein animiertes Gif das solange im Kreis läuft wie nötig, oder aber Du musst mit AJAX Grafiken austauschen (z.B. alle 10% eine weitere Grafik mit einem weiteren Balken nachladen und austauschen).
Auf CodeProject gibt es da schon was, da kannst Du Dir zumindest mal angucken wie die das gemacht haben:
ASP.NET Progressbar bei CodeProject.