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; }
그럼 이만 즐거운 개발되세요!
'Software > C#' 카테고리의 다른 글
C# 폼 중복실행 확인/방지 (0) | 2015.07.17 |
---|---|
어셈블리에 강력한 이름이 없습니다. 에러 해결방법 (3) | 2015.06.07 |
레지스트리 저장, 읽기, 삭제 (0) | 2015.06.06 |
댓글