Определенно. Вам нужно будет реализовать какое-то событие «ProgressMade» в классе загрузки, на который форма затем подпишется (или будет подписано каким-либо посредником, например, Controller, если это ваш шаблон). Затем вы должны вызвать событие «ProgressMade», когда ваш класс обнаружит, что данные были отправлены.
То, как ЭТО происходит, зависит от того, что ваш класс использует для загрузки. Если вы используете StreamWriter, к сожалению, у этих классов нет «реактивных» событий, которые отслеживают прогресс. Еще не все потеряно; вы должны иметь возможность наследовать класс, который вы используете для запуска типа «WritePerformed», который вы можете использовать для запуска ProgressMade. Проверьте этот ответ: как увеличить прогрессбар, когда я пишу XML? . Это должно относиться практически к любому писателю. Если вы используете что-то менее абстрактное, например, Socket, тогда вы должны быть в состоянии отследить количество байтов, которые вы вставляете в соединение.