首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

循环删除空间 foreach 出现有关问题

2013-04-02 
循环删除空间 foreach 出现问题,求助Control.ControlCollection collecs page.Controls//page为一个Tab

循环删除空间 foreach 出现问题,求助
Control.ControlCollection collecs = page.Controls;//page为一个Tabpage
int aa = page.Controls.Count;//此处aa值为4
foreach (Control control in page.Controls)
{
         if (control is ListView)
         {
          page.Controls.Remove(control);

          }

 }
现在要去判断page中的所有控件,把控件类型是Listview的删掉,现有以下问题
1、aa的值为page中控件的数量,即四个,但是foreach在执行时只会循环三次,不知道是那里出了问题?
[解决办法]
for(int i=page.Controls.Count-1;i>=0;i--)
{
   if(page.Controls[i] is ListView)
      page.Controls.Remove(page.Controls[i]; //page.Controls.RemoveAt(i);
}
[解决办法]
本帖最后由 caozhy 于 2013-03-28 20:17:51 编辑 foreach (Control control in page.Controls.Cast<Control>().ToList())

热点排行