【发布时间】:2021-03-06 10:23:47
【问题描述】:
我想清除该面板中的所有对象,但我的绿色按钮和分数标签除外。换句话说,我想清除所有红色和蓝色标签。但是当我尝试使用 foreach 进行操作时,无法正常工作(仅清除了我的标签的一半)
这是我的代码,我不知道这里有什么问题。
foreach (Control coloredLable in panel1.Controls)
{
if (coloredLable is Label && coloredLable.Text == "")
{
if (status == false){
panel1.Controls.Remove(coloredLable);
}
}
}
我已经确定我所有的彩色标签里面都没有任何文字,但它仍然不能正常工作。谁能告诉我这里出了什么问题?
【问题讨论】:
-
错误是什么?
-
它有时只清除左侧标签,有时只清除右侧标签(不是全部)
-
status是什么? -
你怎么设置
status -
This answer 展示了如何正确执行此操作。这个问题是关于一个你还没有发现的错误,你必须使用 Dispose() 而不是 Remove()。
标签: c# visual-studio winforms