티스토리 뷰
P rogramming/C # (13.05~)
C# Form 2개,Thread, ProgressBar를 이용한 Work 및 진행 정도 Viewing
Only I Can 2014. 5. 8. 15:14사실 제목은 어렵지만 내용은 아주 간단합니다.
작업을 진행해야 하는데, 그 작업이 시간이 다소 걸려서
사용자에게 편의를 위한 ProgressBar를 보여 주기 위한 소스 입니다.
우선 Form1 과 Form2 가 존재 하고,
Form1 에서는 Thread 생성 및 상태를 검사하고
Form2 에서는 필요 Work 및 ProgressBar를 처리합니다.
우선 Form1 소스를 보면
InitializeComponent() 를 제외한 소스 입니다.
버튼 클릭 시 Thread를 생성( DoWork ), Start, Join( Block 상태 ) 을 하게 됩니다.
Block 이란 Form1의 상태인데, Thread.Join() 은 Thread 가 완료 할 때 까지, 해당 기점에서 멈추게 됩니다.
당연히 Thread 가 DoWork() 를 완료하게 되면, 다음 코드를 진행하게 됩니다.
DoWork 상에서 Form2 를 불러오고 Form2 에는 Change_Progress( int nValue )를 통해서
ProgressBar 막대기를 움직입니다.
Thread.Sleep(1) 을 준 이유는, 1이 없으면 움직이는게 보이지 않고 폼이 죽는 현상을 확인하고 넣었습니다.
DT 는 class 내에 포함되어 있는 DataTable 이고 그 수치만큼 움직이게 됩니다.
주요 순서를 정리하면
Form1 : Thread 생성 및 Work 부여 및 Start - Join 대기
Thread_1 : 작업 시작 및 Form2 생성 및 Form2 Progress Bar 이동
Thread_1 : 작업 완료시 DataTable에 채우기
Form1 : Thread.Join 상태 완료 및 dataGridView1.DataSource = DT 로 값 채우기
이상입니다.
참고 : msdn - http://msdn.microsoft.com/ko-kr/library/7a2f3ay4(v=vs.90).aspx
'P rogramming > C # (13.05~)' 카테고리의 다른 글
| C# DES 8bit를 이용한 복호화 및 암호화 코드 (0) | 2014.10.27 |
|---|---|
| C# 특정 이름으로 된 프로세스가 구동 중인지 확인 (0) | 2014.06.05 |
| C# Form의 위치를 원하는 곳으로 지정하기 (0) | 2014.05.12 |
| 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 |
댓글
공지사항
최근에 올라온 글
- Total
- 331,919
- Today
- 0
- Yesterday
- 89
링크
TAG
- 알프스목초지1-4
- Joseph Redmon
- 리눅스
- C# 패널
- 자신만의향
- PolyBridge1-4
- DaleEvans
- C# 패널 예제
- PolyBridge1-3
- 믿는다는것
- 알프스목초지1-3
- PolyBridge1-5
- PolyBridge하는법
- 인생의시간
- 알프스목초지1-2
- PolyBridge1-1
- OnlyICan
- 분할작업
- Nina Fedoroff
- 1Day1Sentence
- c#
- 알프스목초지1-1
- 사람의인생
- ted
- PolyBridge
- 좋은글귀
- 알프스목초지1-5
- PolyBridge1-2
- 폴리브릿지
- C# 판넬 예제
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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)
