Прогноз оставшегося времени, в самом простой реализации, привяжите к прогрессу задачи, например, к общему размеру скопированных файлов, или к количеству выполненных действий, на основе которых идет прогресс. Если привязаться к чему то удалось, тогда все просто, смотрим, за сколько времени выполнились предыдущие действия, вычисляем время выполнения одного действия, потом смотрим, сколько еще действий должно выполниться, и вычисляем оставшееся время до конца выполнения задачи.
Thank you,
Misha Zhutov
http://submain.com - .NET Developer Tools
Microsoft
MVP