2014-07-18 69 views
12

如何在主窗體中加載其他窗體。頂級控件無法添加到控件中

我試圖像

private void frmInitialEntryBooks_Load(object sender, EventArgs e) 
{ 
    frmSujbect objForm = new frmSujbect(); 
    pnl.Controls.Add(objForm); 
    objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
    objForm.Dock = DockStyle.Fill; 
    objForm.Show(); 
} 

但在行拋出異常Top-level control cannot be added to a controlpnl.Controls.Add(objForm);

+0

你必須使用MDI。 http://msdn.microsoft.com/en-us/library/xyhh2e7e(v=vs.110).aspx – Rotem

+0

您是否將表單添加到面板 – Charlie

+0

ya我將表單添加到面板 – Nisar

回答

25

使用本

private void frmInitialEntryBooks_Load(object sender, EventArgs e) 
{ 
    frmSujbect objForm = new frmSujbect(); 
    objForm.TopLevel = false; 
    pnl.Controls.Add(objForm); 
    objForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
    objForm.Dock = DockStyle.Fill; 
    objForm.Show(); 
} 

你錯過了objForm.TopLevel = false;

+0

有沒有辦法設置面板內部窗體的不透明度 –

3

設置TopLevel = False在frmsubject然後試圖

frmSujbect objForm = new frmSujbect(); 
pnl.Controls.Add(objForm); 
objForm.Show(); 
+0

@downvoter爲什麼? – Sathish