2009-02-09 6 views
0

MID 부모 창의 배경에 컨트롤을 두는 것이 좋은 생각입니까? 분할 컨테이너를 MDI 창에 추가했는데 예상대로 표시되지만 SplitContainer가 표시되는 동일한 창에서 다른 폼을 열려고 할 때 표시됩니다. 팝업을 표시하는 유일한 방법은 ShowDialog를 사용하여 표시하는 것입니다. 불행히도 여러 창을 한 번에 열어서 실용적인 솔루션이 될 수 없도록해야합니다.MDI 부모 배경의 컨트롤

내가 잘못 접근 했습니까?

답변

2

MDI 클라이언트 창 (어두운 회색 배경)을 덮는 컨트롤을 추가 할 수 없습니다. MDI 클라이언트는 클라이언트 창과 함께 부모로 표시되므로 컨트롤보다 Z 순서가 낮습니다.

WF는 도킹 된 컨트롤을 지원하지만 클라이언트 영역을 부모 폼의 나머지 공간으로 자동 조정합니다. SplitContainer는 작동하지 않습니다.

SplitContainer의 패널에 양식을 표시 할 수 있습니다. TopLevel 속성을 False로 설정하면 컨트롤로 바뀝니다. 예 :

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     Form2 f2 = new Form2(); 
     f2.TopLevel = false; 
     f2.FormBorderStyle = FormBorderStyle.None; 
     f2.Visible = true; 
     splitContainer1.Panel1.Controls.Add(f2); 
    } 
    } 
관련 문제