日期:2014-05-18  浏览次数:21010 次

splitContainer1.Panel2.Controls.Clear();后如何关闭窗体
WinForm程序
splitContainer1中的Panel1中为TreeView
splitContainer1中的Panel2中的内容为选中TreeView节点后对应的Form窗体

C# code

splitContainer1.Panel2.Controls.Clear();
Form2 f2 = new Form2();
f2.TopLevel = false;
splitContainer1.Panel2.Controls.Add(f2);
f2.Dock = DockStyle.Fill;
f2.Show();



问题是Clear()后并没有Dispose()
请教在Clear()后就把移除的Form关闭



------解决方案--------------------
foreach(control ct in splitContainer1.Panel2.Controls)
{
ct.dispose();
}
splitContainer1.Panel2.Controls.Clear();

注意,clear要放到后面