2011-05-10 4 views
1

내 응용 프로그램이 n 개의 양식을 열고 사용자가 자유롭게이 양식들 사이에서 앞뒤로 전환 할 수 있습니다. 사용자가 양식 중 하나에서 수행 된 작업을 확인하기로 결정하면이 프로세스 (메시지 상자 및/또는 다른 양식을 열 수 있음)가 끝날 때까지 다른 양식을 차단하고 싶습니다. 사용자가 아무 것도 할 수 없기 때문에 양식을 사용 불가능하게 설정하는 것만으로는 충분하지 않지만 Activated 이벤트가 발생하며 이는 피하고자하는 것입니다. ControlStyles.Selectable을 false로 설정하려고 시도했지만 작동하지 않습니다.일시적으로 서식이 포커스/활성화되지 않게하려면 어떻게합니까?

양식을 더 명확하게 만들기 위해 양식이 전체 화면을 가리고 사용자가 작업 표시 줄을 클릭하여 활성화합니다. 이것은 모달 폼을 열고 그곳에서 실행되는 확인 코드를 실행해도 Activated 이벤트가 시작되는 것을 방지하지 못하는 상황입니다.

답변

0

Form.ShowDialog 메서드 메서드를 사용하여 응용 프로그램에 모달 대화 상자를 표시 할 수 있습니다. 이 메서드가 호출 될 때이 메서드는 대화 상자가 닫힐 때까지 실행되지 않습니다.

+0

음, 좋지만 충분하지 않습니다. ShowDialog를 사용하여 새 양식을 열고 표시된 이벤트에서 확인 작업을 수행 하시겠습니까? 이 방법으로 다른 모든 forma 사용할 수 없지만 여전히 그들을 선택할 수 및 Activated 이벤트가 발생합니다. 그리고 이것은 제가 피하려고하는 것입니다. –

+0

다음과 같은 접근 방식을 사용하여 본인 확인을 마쳤습니다. 샘플 애플리케이션에서 두 가지 양식을 만들었습니다. Form1과 Form2. Form1에는 단추 및 양식 활성화 이벤트가 있습니다. 버튼을 클릭하면 표시 대화 상자에서 form2가 열리고 양식 2의 뒷면에있는 form1을 클릭하려고 시도했지만 form1 활성화 된 이벤트가 활성화되지 않습니다. 나는 브레이크 포인트 (break point)를 사용하여 그것을 확인했고 컨트롤은 결코 그것을 넘겨주지 않았다. 접근 방식이 괜찮은지 확인하십시오. – Pankaj

+0

감사합니다 Pankaj, 네가 맞아, 모두 당신이 설명하는대로 작동합니다. Windows 작업 표시 줄을 클릭하여 다른 양식으로 전환 한 이후로 나에게 적합하지 않았습니다. –

관련 문제