This is baked into a couple of .NET collections. For example, have you looked at the WebClient class? There are ProcessChanged event handlers such as DownloadProgressChanged.
Just add them and wrap them around your methods that take time, for example. ProcessImage ().
source
share