본문 바로가기
Software/C#

로딩 상황 진행률 표시

by [방울] 2015. 6. 8.

 

 

 

 

 

 

BSP를 개발하던 중, 로더 폼에서 각종 데이터들을 초기화하는데 진행률을 쉽게 나타낼 수 있는 방법이 없을까 찾아보다가 이런 방법을 찾았네요!

배열 함수?? 배열 메서드??

메서드를 배열에 대입하여 그 메서드들을 foreach 문으로 전부 실행하는 방법!

진행상황을 나타내기에 딱 좋은 방법인것 같아요.

var actions = new Dictionary
{
     {doAction1, 10}, 
     {doAction2, 20}, 
     {doAction3, 30}, 
     {doAction4, 40},
};

progressBar.Minimum = 0;
progressBar.Maximum = actions.Select(kvp=>kvp.Value).Sum();
progressBar.Value = 0;
foreach(var action in actions)
{
   action.Key();
   progressBar.Value += action.Value;
}

 

 

이런식으로 안하면 progressBar += 1 노가다를 해줘야되서말이죠..

 

더 간단한 방법도 있어요!

 

var actions = new List {doAction1, doAction2, doAction3, doAction4};

foreach(var action in actions)
{
   action();
   progressBar.Value += (progressBar.Maximum - progressBar.Minimum) / actions.Count;
}

 

 

그럼 이만 즐거운 개발되세요!

댓글0