2011-12-02 3 views
1

이상한 문제가 발생하여 다음 근본 원인을 찾아야합니다. 환경 C# (.NET 2.0) :모달 대화 상자의 키 누르기 이벤트 필터링 사용 안 함

내 코드는 일부 공급 업체의 프레임 워크를 사용하며 한 번에 모달 대화 상자를 엽니 다. 프레임 워크가 응용 프로그램의 "Enter"Keypresses (아마 IMessageFilter를 구현하여)에서 필터링하는 것 같습니다. 결과적으로 "확인"버튼을 눌러 대화 상자를 닫으면 이상한 동작이 발생합니다. "확인"을 마우스로 클릭하여 종료하는 것이 좋습니다. 프레임 워크의 코드를 변경하는 것은 불행히도 옵션이 아닙니다. 그래서 프레임 워크가 내 대화 상자에서 "Enter"(및 아마도 "ESC") 키 누르기를 통지하지 않도록하고 싶습니다. 누구든지 어떻게 할 수 있는지 알고 있습니까?

는 편집 :

나는이 문제를 "해결". 아래의 수락 된 답변을 참조하십시오.

+1

왜 IMessageFilter라고 생각합니까? "아마"사용하면 솔루션을 요청하기 전에 더 많은 진단을해야한다고 생각합니다. –

+0

프레임 워크의 소스 코드에 대한 액세스 권한이 없으므로 소유권 주장에 조심합니다. 그러나 나는 UI에서 "엔터"를 누를 때 프레임 워크가 내 코드의 다른 부분을 호출 할 것임을 알 수있다. –

+0

답변을 게시하고 답변과 함께 질문을 편집하지 않는 것이 가장 좋습니다. – LarsTech

답변

1

"문제가 해결되었습니다." 나중에 참조 할 수있는 해결책은 다음과 같습니다. Form (Modal 대화 상자에서 생성 된)을 FormBorderStyle.FixedDialog에 대한 FormBorderStyle 속성을 설정하면 문제가 해결되었습니다. 예, 이것은 Cargo-Cult-Programming의 전형적인 경우이지만, 철저한 테스트를 거친 후 수정 사항이 안정적으로 작동합니다.

-1

enter 키를 누른 상태에서 javal 파일을 작성하여 모달에서 ok 이벤트를 실행하십시오. 자바 스크립트가 응용 프로그램의 다른 모든 자바 스크립트 위에 있는지 확인하고 먼저 실행해야합니다.

+0

.NET WinForms applicaton - 관련된 Javascript가 없습니다. –