2011-05-14 7 views
0

3 레이어 : GUI-BLL-DLL로 구성된 응용 프로그램을 만들었습니다. 플랫 파일을로드 할 때 DLL에서이 작업을 수행하고 있지만 GUI의 진행률 표시 줄을 통해 사용자에게 프로세스를 표시하려고합니다. 그래서 변수 LineCounts를 DLL에서 GUI로 전달하려고합니다. 나는 EVENTS를 사용해야 만한다는 것을 알고 있지만 어떻게해야할까요. 누군가가 코드 예제와 함께 VB.NET에서이 이벤트를 구현하는 방법을 이해할 수있게 도와 줄 수 있습니까? 사전 엘리아스DLL에서 GUI로 메시지 전달

+0

답변을 드릴 수있는 사람이 누구입니까? – ekekakos

답변

0

내가 제안에

덕분에 당신은 BackgroundWorker에를 사용하여 조사. 텍스트 파일을 가져 오기 위해 백그라운드 스레드를 사용하고 진행 상황을 간헐적으로보고 싶다고 가정합니다. http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

+0

제가 비즈니스 레이어를 통해 데이터 레이어에서 GUI로 메시지를 전달하는 방법에 대해 저의 문제를 썼습니다. 레이어는 다른 DLL (프로젝트)입니다. – ekekakos

+0

사용자가로드 프로세스를 시작한다고 가정합니다. 1) GUI에서 BackgroundWorker의 새 인스턴스를 만듭니다. 원하는 GUI 함수에서 ProgressChanged 및 RunWorkerCompleted 대리자를 가리 킵니다. 2) BackgroundWorker를 비즈니스 계층에 전달합니다. 비즈니스 계층은 DoWork 위임을 데이터 계층으로 지정합니다. 3) 비즈니스 계층에서 RunWorkerAsync를 호출합니다. 플랫 파일 로딩 기능은 이제 보낸 사람을 BackgroundWorker로 캐스팅 할 수 있으며이를 통해 reportprogress를 GUI로 다시 사용할 수 있습니다. – Jordan

관련 문제