【发布时间】:2015-11-30 14:56:19
【问题描述】:
这在我身上发生过很多次。虽然我找到了解决方法,但感觉不专业,我想知道为什么会发生这种情况。
假设我有一个FlowLayoutPanel,里面有几十个按钮。
我打算遍历所有控件并检查是否满足某个条件。如果是,那么我希望删除此控件。所以我会做这样的事情:
foreach (Control c in flp_p_products.Controls)
{
if(condition(c))
flp_p_products.Controls.Remove(c);
}
但是,在不止一次的情况下,在不同的项目中,我发现一个控件设法滑出循环的情况并不少见 - 我不知道为什么。
只有当我添加
while(flp_p_controls.Count > 0) 在我的 foreach... 循环的开头,所有的孩子都被循环了。
有什么我没有意识到的吗?
【问题讨论】:
标签: c# controls flowlayoutpanel