jbart is right

and what i do sometimes is if i know the time it will
take to finish an action (such as downloading a file),
i will use timer events every second to update the
progress bar until the max (value for each second in
the download) is reached