宝宝踩踩 2017-01-13 08:04 采纳率: 0%
浏览 3266
已结题

C#winform删除动态添加的多个控件

动态添加了10个控件,如下:其中RandomSquare.Square是自定义控件,
RandomSquare.Square[] ns = new RandomSquare.Square[1000];
ns[0] = new RandomSquare.Square();
ns[0].Parent = tabPage_Database;
ns[0].Location = new Point(200,200);
ns[0].Size = new Size(50, 50);
tabPage_Database.Controls.Add(ns[0]);
for (int i=1;i<=9;i++)
{
ns[i]= new RandomSquare.Square();
ns[i].Parent = tabPage_Database;
ns[i].Size = new Size(50, 50);
ns[i].Location = new Point(ns[i - 1].Location.X + ns[i - 1].Width, ns[i - 1].Location.Y);
tabPage_Database.Controls.Add(ns[i]);
}
动态删除(例如点击一个btn)代码如下:
private void button3_Click(object sender, EventArgs e)
{
foreach (Control ns in tabPage_Database.Controls)
{
if (ns.GetType().ToString().Equals("RandomSquare.Square"))
{
tabPage_Database.Controls.Remove(ns);
}
}

}
点玩按钮后,控件删除总会剩下两个,这是为什么?
如图:
点击前:
图片说明
点击后:
图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-01-13 16:30
    关注
     foreach (Control ns in tabPage_Database.Controls)
    ->
    foreach (Control ns in tabPage_Database.Controls.Cast<Control>().ToList())
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题