2014-03-24 5 views
5

인벤토리 소프트웨어를 작업하면서 갑자기 다른 양식을 열어야하는 기본 양식이 필요하다는 사실을 알게되었습니다. frmMainPanel라는 이름을 연결 내가 성공 나는 다른에 연결하는 메뉴 스트립을 사용하지만 그들은 기본 폼 외부에 개방되어, 나는 코드를 연결하려면 다음을 사용하십시오이 양식의 MdiParent로 지정된 양식이 MdiContainer가 아닙니다.

링크하기 frmSaleInvoice 양식을 사용 :

frmSaleInvoice childForm = new frmSaleInvoice(); 
cs.show() 

이제 나는 그 코드를 사용하여 다음과 같은 코드를 사용해 보았습니다.

frmSaleInvoice childForm = new frmSaleInvoice(); 

childForm.MdiParent = this; 
childForm.Show(); 

하지만 **" Form that was specified to be the MdiParent for this form is not an MdiContainer."**

어느 한 내가 착각하고 wher 나를 도울 수 있고, 내가 어떻게 MDI 부모가 그것의가 있어야합니다 frmMainPanel

답변

16

라는 이름의 다른 형태의 아이에게 frmSaleInvoice이라는 폼을 만들 수 말한다 IsMdiContainer 속성은 True으로 설정됩니다. 디자인 타임에 frmMainPanel 양식에서이 속성을 설정할 수 있습니다.

+0

감사합니다. –

+0

이미 IsMdiContainer 속성을 true로 설정했지만 오류가 지속됩니다. – Pratikk

+0

@Pratikk 묻는 질문에 바보 같은 생각이 들지만 * PARENT * 양식에'IsMdiContainer'를'true '로 설정 했습니까? – Crono

7

부모 양식에 IsMdiContainer = true을 설정해야합니다. true로 childForm을 설정할 필요가 없습니다

+0

감사합니다. :) –

+4

@ Crono의 답을 받아 들일 수 있도록 표시해주세요. 이번에는 2 초 빨랐습니다. :) – Dmitry

+2

@Dmitry +1. – Crono

-2

, 당신은 이 시도 할 수 있습니다 :

childForm.MdiParent = (name of your mdiparent form).ActiveForm; 
childForm.Show(); 
0

그냥 코드에서 IsMdiContainer = true; 물품.

Form2 fL = new Form2(); 
fL.MdiParent = this; 
fL.Show(); 

Form2은 표시하려는 양식의 이름입니다.