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

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 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考