2012-11-03 5 views
1

가능한 중복 :
How to use Progress bar during loading an xml FileC# 응용 프로그램이 사용 중인지 확인하는 방법은 무엇입니까?

나는 XML 파일을 가지고 있고 XML 파일에 거의 200.000 기록이있다.
이러한 레코드를 아래와 같이 DataTable에로드합니다.

string file = "C:\\records.xml"; 
DataTable dt = new DataTable(); 
dt.ReadXml(file); 

이 프로세스가 작동 할 때 응용 프로그램은 데이터 테이블에 데이터를로드 할 때까지 대기합니다.
그래서이 시간을 사용하고 싶습니다. 그리고 데이터 테이블에 데이터를로드하는 동안 사용자 프로세스 바에 보여주고 싶습니다.
어떻게해야합니까?

+0

메모리에 200.000 개의 레코드를로드해야하는 이유는 무엇입니까? –

+0

사용자가 진행중인 진행률 표시 줄을 꼼꼼하게 바라보아야 만하는 참을성이 너무 많습니다. 그녀는 5 ​​초 이상 그것을 견뎌 낼 것이고 Solitaire를 쏘아 올릴 것입니다. 사용자 인터페이스를 숨기고 작업 완료시 풍선을 표시하려면 NotifyIcon을 사용하십시오. 진행 상황을 보여주는 여러 가지 아이콘을 사용하는 것이 좋습니다. –

답변

1

BackgroundWorker을 사용하여 다른 스레드에서 장시간 차단 작업을 수행하는 것이 좋습니다.

ReportProgress 메서드를 사용하여 progressBar를 UI 스레드에서 업데이트 할 수 있습니다. Here의 예입니다.

+0

답변 해 주셔서 감사합니다. 하지만 예를 보여 주시겠습니까? – namco

+0

@namco 답변에 예제 링크가 있습니다. 이전에 통지하지 않았지만 귀하의 질문은 [this one] (http://stackoverflow.com/questions/8099149/how-to-use-progress-bar-during-loading-an-xml)과 같아 보입니다. -file-in-c) –

관련 문제