2011-03-13 3 views
2

MDI 폼의 패널이 있고 패널에 일부 컨트롤이 있습니다. MDIChild 양식을 열면 양식이 패널 뒤쪽으로 이동합니다. forms.BringtoFront() 및 panel.SendtoBack()을 시도했지만 아무것도 작동하지 않습니다. 그런 다음 패널의 setchildIndex를 0으로 설정했으나 작동하지 않았습니다.MDIchild 폼이 패널 뒤쪽에 있음

항상 모든 양식 뒤에 패널을 유지할 수있는 방법이 있습니까?

감사

+1

왜 MDI 컨테이너에 패널이 있습니까? MDI 어린이를 MDI 컨테이너에 넣으려고합니다. –

+0

그래, 나도 알아,하지만 난 내 응용 프로그램에 대한 바탕 화면이나 메인 페이지처럼 될 수있는 사용자가 메인 메뉴에서 다른 mdi 어린이를 열 수 있습니다 싶습니다 – AlaaL

+0

그리고 난 당신이 어떤 컨트롤을 넣으면 그것은 단지 패널이 아니라고 말하고 싶습니다 MDI 학부모에게는 다른 양식의 맨 위에 머물러 있습니다. – AlaaL

답변

1

문제는하여 MDI 어린이의 컨테이너 패널의 형제 것입니다. 패널이 컨테이너 상단이나 뒤에 있습니다.

패널을 MDI 하위 항목과 동일한 컨테이너에 넣기를 원하지만 가능하다고 생각하지 않습니다. MDI 컨테이너는 MDI 자식을 포함하며 다른 것은 가지고 있지 않습니다.

요약하면 MDI가 필요한 것을 제공하지 않는다고 생각합니다.

+0

당신이 옳다고 생각합니다. mdi는 나를 도와주지 않을 것입니다. 어떤 방법 으로든 감사합니다. – AlaaL

0

패널을 MDI 하위 창에 놓고 위치와 크기를 MDI 상위 내에서 수정할 수 있습니까? 그런 다음 패널을 포함하는 MDI 하위 창의 한 가지 유형 만 MDI 상위 내에서 한 번에 열 수 있도록하십시오.

0

방금 ​​Show 메서드 뒤에 BringToFront 메서드를 추가했습니다.

은 저에게 잘 맞습니다. 다음 비어있는 새 폼을 만들고

1

은 MDI 폼로드 이벤트에 다음 코드를 작성 후

private void bg_Load(object sender, EventArgs e) 
{ 
    this.ControlBox = false; 
    this.FormBorderStyle = FormBorderStyle.None; 
    this.WindowState = FormWindowState.Maximized; 
} 

다음 Form_Load 이벤트에서이 양식의 다음 속성을 설정

private void Main_Load(object sender, EventArgs e) 
{ 
    bg bg = new bg(); // create object of empty form my empty form name is "bg" 
    bg.MdiParent = this; 
    bg.Show(); 
} 

당신이 무엇을 백그라운드에서 원하는 빈 폼에 추가하십시오 ....

관련 문제