Async ShowDialog

Я использую async / await для асинхронной загрузки моих данных из базы данных, и во время процесса загрузки я хочу открыть форму загрузки, это просто простая форма с запущенным индикатором выполнения, указывающая, что процесс запущен. После загрузки данных диалоговое окно автоматически закроется. Как я могу этого достичь? Ниже мой текущий код:

 protected async void LoadData() 
    {
       ProgressForm _progress = new ProgressForm();  
       _progress.ShowDialog()  // not working
       var data = await GetData();          
       _progress.Close();
    }

Обновлено:

Мне удалось заставить его работать, изменив код:

 protected async void LoadData() 
        {
           ProgressForm _progress = new ProgressForm();  
           _progress.BeginInvoke(new System.Action(()=>_progress.ShowDialog()));
           var data = await GetData();          
           _progress.Close();
        }

Это правильный путь или есть лучшие способы?

Спасибо за вашу помощь.

Ответы на вопрос(4)

Ваш ответ на вопрос