刚才那个办法不行,因为panel.controls集合发生了改变。
可以先将lable提取到一个集合内,再在该集合内删除.代码如:
ArrayList arr = new ArrayList();
foreach (Control var in this.panel1.Controls)
if (var is button)
arr.Add(var);
for (int i = 0; i < arr.Count; i++)
{
panel1.Controls.Remove(((Control)arr[i]));
((Control)arr[i]).Dispose();
}
这样可以一次性全部删除了