删除除第一列外的所有ListViewItems

本文关键字:ListViewItems 一列 删除 | 更新日期: 2023-09-27 18:05:37

我想删除整个ListviewItems在我的Listview除了第一列。我有一个方法,但它有时抛出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);
                }
            }

删除除第一列外的所有ListViewItems

试试这样:

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

代码的问题可能是在subitems集合中有可变数量的项。对于您所展示的代码,子项集合中必须至少有6个项,这样才不会出现参数异常。