本帖最后由 qq123592624 于 2010-08-04 19:41:04 编辑

解决方案 »

  1.   

    List<Control> list=new List<Control>();
    foreach (Control ctr in this.Controls)
      {
      if (ctr is PictureBox)
      {
    list.Add(ctr);
       }
      }
    foreach(Control ctr in list)
    {
     this.Controls.Remove(ctr);
    }
      

  2.   

    List<Control> list=new List<Control>();
    foreach (Control c in this.Controls)
      {
      if (c is PictureBox)
      {
      list.Add(c);
      }
      }
    foreach(Control c in list)
    {
    this.Controls.Remove(c);
    }this.Controls.Cast<Control>().Where(c=>c is PictureBox).ToList().ForEach(c => Controls.Remove(c));
      

  3.   

    foreach 执行时不允许改变集合的大小,如果在foreach中删除,会导致集合变小.