2009-05-21 4 views
1

단추를 클릭하면 백그라운드 작업자에서 쿼리가 실행됩니다. 그것은 비동기 적이므로 사용자가 예상보다 오래 실행되면 프로세스를 취소 할 수 있도록 단추를 "취소"로 변경할 수 있습니다. 이 모든 것이 잘 작동합니다..Net Windows Forms - 비동기 작업을 기다리는 동안 폼 탐색 제한

하지만 사용자가 양식에서 다른 작업을 수행하기 위해이 위치에서 벗어날 수 없도록하고 싶습니다. 그들은 취소 버튼을 클릭하거나 양식을 닫을 수 있어야합니다.

+2

다음 번에 귀하의 질문을 질문 형태로 표현하십시오. – mquander

답변

1

이 작업을 수행하는 가장 좋은 방법은 DisableControls()와 같은 메서드를 만드는 것입니다.이 메서드에는 다른 모든 컨트롤에 대한 disable 명령이 포함되어 있습니다.

비동기 작업이 완료되면 콜백에서 EnableControls()와 같은 메서드를 호출하여 프로세스를 되돌립니다.

6

그런 다음 쿼리 처리를 시작할 때 폼의 다른 컨트롤을 사용하지 않도록 설정하고 백그라운드 작업자가 완료되면 다시 활성화하는 것이 좋습니다.

관련 문제