2012-10-24 10 views
2

다른 컴퓨터에서 OnKeyDown 무시에서 e.Key 값이 반드시 일치하지는 않습니다. 예를 들어 Boot Camp에서 Win7-64를 실행하는 Mac에서 백 슬래시 키는 Key.OemQuote으로보고되고 Key.OemBackslash이 아니라고보고합니다. 이는 동일한 키조차도 고려하지 않은 것입니다. 동료의 Dell에서는 완전히 다른 것으로보고되었습니다.OnKeyDown 재정의에서 해당 e.Key 값에서 표시 할 문자를 프로그래밍 방식으로 결정할 수 있습니까?

그러나 두 경우 모두 입력 할 때 올바른 백 슬래시 문자가 텍스트 상자에 나타나므로 OS가 분명히 그 키가 연결된 문자를 알 수 있습니다. 내가 : 우리는 특정 시스템에 키 코드 주어진, 당신이있는 경우, 그 키 (. 어떤 수식 누르지 가정)

주를 나타내는 해당 문자를 얻을 수 있는지 확인하기 위해 노력하고

이미 입력 된 문자를 처리하는 OnPreviewTextInputOnTextInput 이벤트를 이미 알고 있지만 이 아니며 내가 묻는 것은입니다.

저는 입니다. 특히은 KeyCode를 매개 변수로 사용하고 해당 키를 눌렀을 때 화면에 표시 될 문자를 반환하는 기능에 대해 묻습니다.

예를 들어, 내 컴퓨터에서이 함수는 Key.OemQuote을 사용하고 백 슬래시 문자를 반환합니다. 나는 특별히 그이 질문에 비슷한 보일 수 있습니다 서로 다른 키 코드 처리에 대한 또 다른 질문을 올려했지만,이는 다음과 같습니다 Key.Control에 전달하면 (. 제어 혼자 누를 때 아무것도 실제로 표시하지 않기 때문에)

참고 null 반환 이러한 코드를 사용하고 문자를 반환하는 함수와 관련된 매우 구체적인 별도의 질문이므로 중복으로 표시하지 마십시오. 그렇지 않습니다.

+0

확인 [이 사람] (http://stackoverflow.com/a/5826175/1069200)는 그것을 알아 낸 것. 그의 코드를 사용하는 모든 테스트가 통과되었습니다. Mac에서는 잘 모릅니다. –

+0

댓글 대신 답에 넣으십시오. 제대로 작동하면 받아 들일 수 있습니다. 그럴 것 같습니다. 증오심을 피우지 만, 그것이 유일한 방법 인 것처럼 보입니다. – MarqueIV

답변