我试图删除我的 WinForm 中的所有按钮。但不知何故,它在表单中保留了几个按钮。如何删除表单中的所有按钮?我的代码有什么错误?!
void ClearScreen()
{
foreach (Control c in this.Controls)
{
if (c is Button)
this.Controls.Remove(c);
}
}
您的代码不起作用的原因是您在使用枚举器循环遍历集合时正在修改集合。
尝试这个:
void ClearScreen()
{
List<Button> _buttons = this.Controls.OfType<Button>().ToList();
foreach (var button in _buttons)
{
this.Controls.Remove(button);
}
}
foreach (Button btn in this.Controls.OfType<Button>())
{
this.Controls.Remove(bbb);
}
这是从表单中删除所有按钮的通用方法