As Richard suggested, use a ProgressBar - if you combine that with a
BackgroundWorker[
^] then it becomes pretty trivial, as the worker provides Progress and Completed events which are handled on the UI thread so you can access the ProgressBar directly and update it's status.