除了第一列之外,我想在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);
}
}
答案 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异常。