C# 无法在splitcontainer中处置控件

C# 无法在splitcontainer中处置控件,c#,splitcontainer,C#,Splitcontainer,我尝试使用此代码在拆分容器中处置控件 foreach (Control c in splitContainerMain.Panel2.Controls) { c.Dispose(); } 但问题是拆分容器包含两个控件,而get count是两个。但我尝试使用此代码进行释放,然后一个控件成功释放,但第二个控件无法释放。我认为在这种情况下不应该使用foreach,因为控件集合可能会随着项目的释放而缩小 我认为你的情况会好得多,如下所示: for (int nI = spli

我尝试使用此代码在拆分容器中处置控件

 foreach (Control c in splitContainerMain.Panel2.Controls) 
 { 
     c.Dispose(); 
 }

但问题是拆分容器包含两个控件,而get count是两个。但我尝试使用此代码进行释放,然后一个控件成功释放,但第二个控件无法释放。

我认为在这种情况下不应该使用foreach,因为控件集合可能会随着项目的释放而缩小

我认为你的情况会好得多,如下所示:

 for (int nI = splitContainerMain.Panel2.Controls.Count - 1; nI >= 0; nI--) 
 { 
     splitContainerMain.Panel2.Controls[nI].Dispose();
 }

您为什么要手动处理容器中包含的控件,而不是仅对容器本身调用
Dispose()