티스토리 뷰
주의 : 자칫 폼을 죽일 수 있음. 14 - 5 - 8 일 작성한 Thread 예제 사용 가능
thread 사용에는 form 내부의 control에 접근하기 어려운 점들이 있다.
progress Bar 나 text Box 등 접근해서 처리했으면 하는 것들이 있는데
이를 해결하기 위해 C#에 존재하는 것이 BackGroundWorker 이다.
Thread 와 동일하게 Work, Complete 가 존재하며,
특별히 progressChanged 라는 것을 통해서
Progress Bar 를 좀 더 편하게 처리할 수 있다.
위 소스와 같이 BackGroundWorker 를 선언하고, Work(), ProgressB(), CompleteWork()를 각기 선언해준다.
Work() 는 실제로 BackGround 상에서 수행해야 할 작업을 넣어두면 된다.
위는 ReportProgress 를 통해서 bar 를 움직이는 work 이다.
ProgressChangedEvent 인 ProgressB 는
위와 같이 나타나며, backgroundWorker1.ReportProgress(i) 로 처리가 가능하다.
마지막으로 CompleteWork() 이며
으로 나타낼 수 있다. Cancell 과 Error 등의 상황으로 예외처리가 가능하고
마지막 else 는 정상적인 처리가 끝났을 때, 무언가 처리를 하고 싶을 때 하면 된다.
BackGroundWorker를 시작하고 싶을 때는
RunWorkerAsync() 를 통해서 시작하면~ 끗.
'P rogramming > C # (13.05~)' 카테고리의 다른 글
| C# Form 2개,Thread, ProgressBar를 이용한 Work 및 진행 정도 Viewing (0) | 2014.05.08 |
|---|---|
| C# #if, #elif 사용법 (0) | 2014.04.21 |
| C# DataGridView Column으로 수동 정렬하기 (0) | 2014.04.11 |
| C# BackGroundWorker 예제 ( Thread 대용품 ) (1) | 2014.04.08 |
| C# control color 지정 (0) | 2014.04.07 |
| C# 특정 control을 이용한 창 이동 (0) | 2014.04.03 |
| C# ListView 체크된 항목만 골라내기. (0) | 2014.03.19 |
| C# Form Load 완료 시점 찾기 (1) | 2014.03.17 |
공지사항
최근에 올라온 글
- Total
- 331,919
- Today
- 0
- Yesterday
- 89
링크
TAG
- PolyBridge1-5
- c#
- 좋은글귀
- PolyBridge1-4
- 리눅스
- PolyBridge
- PolyBridge하는법
- C# 판넬 예제
- 알프스목초지1-4
- 폴리브릿지
- DaleEvans
- PolyBridge1-2
- ted
- C# 패널 예제
- 알프스목초지1-3
- 알프스목초지1-2
- 믿는다는것
- 1Day1Sentence
- 알프스목초지1-1
- 자신만의향
- C# 패널
- Nina Fedoroff
- PolyBridge1-3
- Joseph Redmon
- 알프스목초지1-5
- OnlyICan
- 인생의시간
- 사람의인생
- PolyBridge1-1
- 분할작업
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
글 보관함
- 2017/08 (4)
