【发布时间】:2014-11-28 19:14:10
【问题描述】:
我的问题是我有一个名为 PanelNewFriend 的面板,我在其中动态地从 mysql 数据库中的所有用户创建按钮。因此,当有人点击用户并发送邀请时,应该发生的是它应该删除所有按钮(除了标签为“1”的后退按钮),然后再次将所有按钮放置在新列表中所有用户。
在创建按钮时,我为它们分配了一个值为“0”的标签。即使我认为问题不在于标签,所有按钮都有它。
我正在使用此代码删除面板中的所有按钮。
foreach (Button item in PanelNewFriend.Controls.OfType<Button>())
{
if (item.Tag == "0")
{
PanelNewFriend.Controls.Remove(item);
}
}
我尝试了多种方法,从 foreach 控件项和 oftype 控件。更改 item.Tag != "1" 和 item.Tag == ""。这些都不起作用
但是当我实际执行代码并添加断点时,我可以看到面板中有 4 个按钮。但是当我经历每个 foreach 循环时,它只选择 4 个按钮中的 2 个。因此,由于它只选择了 2 个按钮,因此它只删除了 2 个,而单独留下了另外 2 个。
知道是什么原因造成的以及如何解决吗?
【问题讨论】:
标签: c# .net winforms collections