"формы" - значит мы говорим о настольном приложении
У вас 3 варианта.
1) если у вас WinForms и .net 4.0 (и ниже) - выводите работу с сервером в BackgroundWorker. подробнейший пример
здесь
2) у вас WinForms и .net 4.5 - выводите работу с сервером в async Task, отличная
статья с примерами от разработчиков TAP
3) у вас WPF
Через NuGet ставите WPF Extended Toolkit, используете
BusyIndicator с помощью биндинга IsBusy к соответствующему свойству вашей VM пока идет работа (синхронно или асинхронно, лучше второе)