请问有什么好办法删除指定的控件
foreach(Control c in this.Controls)
{
if (c is class1)
this.Controls.Remove(c);
}
以上语句只会每次删除一半的数量的指定控件,查了help,知道如果使用了Controls.Remove方法后,Controls会把其后的控件往前移,所以就会造成这种情况。我现在只能这样作:
for (int i=0;i<this.Controls.Count;)
{
if (this.Controls[i] is class1)
{
this.Controls.RemoveAt(i);
}
else
i++;
}
有没有更好的方法?