반응형

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

+ Recent posts