반응형
Task를 사용하여 비동기로 실행하고 ProgressWnd를 ShowDialog하여 화면에 진행상황을 출력하고 코드상에서는 완료되길를 기다렸다가 Download Task가 끝나면 ProgressWnd를 Close하여 뒤에 로직이 이어서 진행되도록 한다
void DownloadImageAsync()
{
ProgressWnd progressWnd = new ProgressWnd();
Task<bool> task = Task.Run(() => DownloadImage(filePath));
task.GetAwaiter().OnCompleted(() =>
{
progressWnd.Close();
});
progressWnd.ShowDialog();
if (task.Result) ShowMessageBox("Download Success");
else ShowMessageBox("Download Failed");
}
bool DownloadImage(string filePath)
{
return true;
}
반응형
'[====== Development ======] > C#' 카테고리의 다른 글
String Extension Method (0) | 2021.04.19 |
---|---|
All C# Extension Methods (0) | 2021.04.19 |
소수인지 여부 확인 (0) | 2021.02.18 |
Hashtable & Dictionary Example (0) | 2021.02.17 |
log4net (0) | 2021.02.10 |