2009-08-26 3 views
0
SplitContainer가에 대한 MSDN 설명서를 제어

말한다 다음 SplitContainer가 제어와 SplitContainer.Panel1 선택의 변경 SplitContainer.Panel2 선택

, 당신은 복잡한 사용자 인터페이스를 만들 수 있습니다; 종종 한 패널의 선택 은 다른 패널 에 표시되는 개체를 결정합니다.

따라서 상단 및 하단 패널이 수평으로 나뉘는 SplitContainer가 있습니다. 내가하고 싶은 것은 - Panel1 (상단)의 컨트롤이 포커스를받을 때, 포커스를 얻으려면 Panel2 (하단) 내의 컨트롤이 필요합니다. 그런 다음 다시 Panel1의 컨트롤로 다시 이동해야합니다.

문제는 CanFocus에서 Panel2의 컨트롤이 false를 반환한다는 것입니다. 나는 일종의 통제가 일어날 수 있고, 통제의 모든 조상이 초점을 맞출 초점을 가져야한다는 것을 이해합니다. 나는 그것을 시도했지만 아무 소용이 없습니다. CanFocus는 여전히 false를 반환합니다.

대체 솔루션이 있습니까? 아무도 이것을 시도한 적이 있습니까? 내가하려는 일은 Outlook이하는 것과 본질적으로 같습니다. 받은 편지함에서 메시지를 선택할 때. 메시지 본문이 아래쪽 패널에 표시됩니다.

답변

0

당신이 설명하는 것은 Outlook을 모방하지 않습니다. Outlook의 메시지 목록에서 메시지를 선택하면 메시지 목록에 포커스가 유지됩니다. 예, 메시지 본문이 아래에 나타나지만 포커스가 이동하지 않습니다.

두 패널 중 하나에 표시되는 컨트롤이나 내용을 변경하지 못하도록해서는 안됩니다. 이를 달성하기 위해 초점을 이동할 필요는 없습니다.

0

실제로 Panel2에 포커스를 설정해야합니까?

간단히하기 위해 Panel2에는 RTT1이라고하는 RichTextBox 객체가 포함되어 있다고 생각합니다.

누군가 Panel1에서 무엇인가를 선택한다고 말합니다. 간단히하기 위해 LV1이라는 ListView 컨트롤이 있다고 가정 해 보겠습니다.

그런 다음 LV1.SelectedIndexChanged 이벤트에서 해당 이벤트를 읽고 RTB1에 데이터를 채 웁니다.

실종 된 것이없는 한 실제로 Panel2에 집중할 필요는 없습니다.