하나의 양식, 사용자 정의 도면, 컨트롤이 없습니다.WinForms, 모든 키 처리 = OnKeyPress + OnKeyDown,하지만 어떻게?
사용자로부터 입력을 받아야 할 때 OnKeyDown 이벤트로 이동 한 다음 이벤트의 KeyData를 문자열 **에 매핑하면 사용자가 "ctrl X"등을 눌렀 음을 인식 할 수 있으므로 거의 모든 것이 가능합니다. 확인 ... 문제는 다른 키보드 설정 및 언어 특정 문자로입니다 - 그래서 오늘 내 사용자
는 GET - 그래서 바로 KeyPress 이벤트가 필요합니다>
O를 ->를ó? 하지만 사용자가 'ł'을 입력하고 alt + L을 입력하지 않았다는 것을 어떻게 알 수 있습니까? 나는 잠시 동안 그 주위에 내 머리를 얻을 수 없다. ...
** - 사용자가 바로 가기를 구성하고 .ToString()을 사용하여 사용자 친화적 인 텍스트를 생성하지 않도록하므로 그렇게해야한다. "OemPeriod, Control"또는 "ControlKey, Control"
흠, 저를 수정, 그래서 : 새 Windows Forms 프로젝트를 시작하고 같은 코드 모양을 만들 눌려진 키는 KeyPress에 의해 처리 될 것입니다 ... 그래서 나는 ToUnicodeEx를 사용할 것입니다, 맞습니까? 하지만 ToUnicodeEx를 사용한다면 KeyPress 이벤트가 필요하지 않습니다. 맞습니까? – argh
아니요, 당신은 알 필요가 없습니다. KeyPress가 알려드립니다. ToUnicodeEx()를 사용하지 마십시오. –
흠, 어쩌면 '잘못된 길'을하고있을 지 모르지만 KeyDown의 모든 것을 처리하면 모든 것이 잘 작동하는 것처럼 보입니다.하지만 솔루션이 보이는 의사 코드의 몇 줄에 나를 보여줄 수 있습니까? – argh