2011-08-12 11 views
3

자식 폼이 열리면 MDI 부모 컨테이너의 제목 표시 줄 뒤에 숨겨집니다.자식 폼이 MDI 부모 컨테이너 뒤에 숨김

enter image description here

은 자식 폼의 WindowStateMaximized로 설정됩니다. FormBorderStyleNone으로 설정됩니다.

MDI 상위를 최소화하고 최대화하면 하위 폼이 맨 앞으로옵니다.

이 상황을 어떻게 극복 할 수 있습니까?

편집 :

나는 자식 폼을 열려면 다음 코드를 사용합니다.

this.childForm= new ChildForm(); 
    this.childForm.MdiParent = this; 
    this.WindowState = FormWindowState.Maximized; 

    this.childForm.Dock = DockStyle.Fill; 
    this.childForm.Show(); 
    this.childForm.BringToFront(); 
    this.childForm.Focus(); 

답변

3

네이티브 Windows MDI 구현은 경계없는 MDI 자식 창을 처리 할 수 ​​없습니다. 불행히도, Winforms는 그 제한을 시행하는 것을 잊어 버립니다. Show() 호출 후 WindowState 할당을 이동할 수 있지만 다른 문제가 발생합니다.

테두리가 없으므로 테두리가 표시되지 않습니다.

4

다음 코드를 사용해보십시오.

Form1 newMDIChild = new Form1(); 
    newMDIChild.MdiParent = this; 
    newMDIChild.Show(); 
    this.LayoutMdi(MdiLayout.Cascade); 
    newMDIChild.Dock = DockStyle.Fill; 
+0

예, 유사한 코드로 하위 폼이 열립니다. – Marshal

+0

@Marshal Nazima 코드에서 DockStyle.Fill 속성을 자식 폼에 추가 해보십시오. 경계가없는 childform 때문에 DockStyle은 자녀의 양식을 적절하게 "재정렬"합니다. – LarsTech

0
AboutBox1 ab = new AboutBox1(); 
ab.MdiParent = MDIForm.ActiveForm; 
ab.TopMost = true; 
ab.Show(); 
+1

질문이나 답변에 서명하지 마십시오. 우리는 이미 당신이 그것을 썼다는 것을 알고 있습니다. –

관련 문제