2009-10-14 3 views
1

폼의 배경을 클릭하면 MDI 부모 폼에 포커스를 설정하려고합니다. 그러나 포커스를 설정할 수있는 유일한 방법은 폼의 크기를 조정할 때입니다.C# MDI 상위 포커스 MDI를 클릭하여 포커스 부모 배경

MDI 학부모를 클릭 할 때 마우스 클릭 이벤트, 클릭 이벤트, 키 누르기 이벤트 등을 사용하여 수동으로 포커스를 설정하려고 시도했지만 이러한 이벤트는 발생하지 않습니다. 양식의 배경을 클릭 할 때 MDI 부모에게 포커스를 설정할 수있는 방법이 있습니까?

답변

1

배경이 별도의 컨트롤 인 경우 MainForm.Controls에서 해당 배경을 찾아 클릭 이벤트를 할당하십시오.

+0

이것은 멋진 답변이었습니다. 나는 당신에게 고마워하지 않았다. – Watson

1

Win32 WM_MDIACTIVATE 메시지를보고 싶을 수 있습니다. 이제 가능한 해결책에 대해 논의 했으므로 실제 질문을 시작할 수 있습니다.

나는 당신이 성취하려는 것을 오랫동안 열심히 생각해야한다고 생각합니다. 비정상적이며 사용자에게 혼동을 줄 수있는 행동을 유발할 위험이 있습니다 (반드시 그런 것은 아니지만 위험은 있습니다). 왜 초점을 옮기고 싶습니까? 일단 움직이면 무엇을 할 수 있습니까? 이 작업이 완료되었음을 사용자에게 어떻게 나타내 보시겠습니까? 그러면 어떻게이 주에서 벗어날 것입니까?

+0

기본적으로 Janusys UI Suite를 사용하고 있습니다. 그리고 UIPanelManager는 훌륭합니다. 그러나 내 사용자는 팝 아웃이 너무 끈적 거리다는 불만을 토로하고 있습니다. MDI 학부모가되는 곳이면 어디서나 클릭하여 팝업으로 되돌릴 수는 없습니다. MDI 부모의 배경을 클릭하여 팝업 패널을 자동으로 숨기려고합니다. 감사합니다. Henk, 제 인생에서 클릭에 초점을 맞추는 방법을 찾지 못했고 이미 작성한 내용을 테스트하고 확인했습니다. – Watson