删除除第一列之外的整个ListViewItems

时间:2011-08-12 09:12:24

标签: c# .net listviewitem

除了第一列之外,我想在Listview中删除整个ListviewItems。我有一个方法,但有时会抛出ArgumentRangeException,我找不到原因。

  private void ListViewClear()
    {

            for (int i = 0; i < lstKullanicilar.Items.Count; i++)
            {
                if (lstKullanicilar.Items[i].SubItems.Count != 1)
                {
                    lstKullanicilar.Items[i].SubItems.RemoveAt(1);
                    lstKullanicilar.Items[i].SubItems.RemoveAt(2);
                    lstKullanicilar.Items[i].SubItems.RemoveAt(3);
                    lstKullanicilar.Items[i].SubItems.RemoveAt(1);
                    lstKullanicilar.Items[i].SubItems.RemoveAt(1);
                }
            }

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

 for (int i = 0; i < lstKullanicilar.Items.Count; i++) {
   while(lstKullanicilar.Items[i].Count > 1){
      lstKullanicilar.Items[i].SubItems.RemoveAt(1);
   }
 }

您的代码的问题可能是您在SubItems集合中有可变数量的项目。对于您展示的代码,您必须至少在subitems-collection中有6个项目,因为没有获得一个arugment异常。