2011-08-27 6 views
0

나는 내 Windows 양식에 두 개의 컨트롤을 사용하고 있습니다. 첫 번째 컨트롤에서 (예 : 숫자 키)를 눌러 두 번째 컨트롤에 초점을 맞추고 싶습니다. 하지만 첫 번째 컨트롤에서 누른 키를 두 번째 컨트롤에 입력해야합니다. 내가 어떻게 해? : -Skeydown을 감지하는 방법 컨트롤에 초점을 맞추기 전에 키

+0

Winforms는 치아와 싸우며이를 막을 수 있습니다. IMessageFilter조차도 작동하지 않습니다. 두 번째 컨트롤에 초점을 유지하십시오. –

답변

0

키 누르기 이벤트를 수신 할 때 구독 한 두 번째 cotrol이 작성한 특별 이벤트를 추가하십시오. 한 번에 두 번째 컨트롤이 이벤트를 수신하면 작동 할 수 있습니다. 당신이 더 일반적인 접근 방식을 원하는 경우에

편집

당신은 항상 여기 http://www.codeproject.com/KB/cs/globalhook.aspx 같은 윈도우 후크를 사용할 수 있습니다. 하지만 개인적으로 가능하면 창문에 최대한 머물려고 노력할 것입니다.

+0

예 Tigran,하지만 그는 다중 할당을 피하기 위해 KeyPress 외부에서 이벤트를 지정해야합니다. 또한 Control.Focus() 메서드를 사용하여 두 번째 컨트롤에 포커스를 설정할 수 있습니다. –

+0

나는 그가 메티드 내부에 가입해야한다고 말하지 않습니다. 서브 스크립 션은 디자인에 기반한 장소에서 이루어 지지만 한 번만 가능합니다. – Tigran

관련 문제