2014-01-23 28 views

回答

1

其實你的代碼應該工作,即使沒有明確地關閉形式。確保fm2點形成已添加:

Form2 fm2 = panel1.Controls.OfType<Form2>().First(); 
panel1.Controls.Remove(fm2); 

UPDATE:同樣,你應該刪除完全相同實例,它已添加到面板的Form2。創建新實例並將其從面板中刪除不會執行任何操作,因爲該新實例未添加到面板中,原始實例仍然存在於面板中。

我建議你從面板中刪除所有的控件,如果你只是想用它作爲你的窗體的主機。請致電panel1.Controls.Clear()

+0

我用這frm2.close();也frm2.dispose但沒有發生:(@Sergey Berezovkiy –

+0

@DaniDanish更新的答案,我認爲你正在刪除錯誤的控制 –

+0

@DaniDanish所以,已經證實你有什麼'fm2'?你試過上面的解決方案嗎? –

0

你可以嘗試關閉形式從面板之前將其刪除:

fm2.Close(); //Or fm2.Visible = false; 
panel1.Controls.Remove(fm2); 
相關問題