删除除第一列外的所有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);
}
}
试试这样:
for (int i = 0; i < lstKullanicilar.Items.Count; i++) {
while(lstKullanicilar.Items[i].Count > 1){
lstKullanicilar.Items[i].SubItems.RemoveAt(1);
}
}
代码的问题可能是在subitems集合中有可变数量的项。对于您所展示的代码,子项集合中必须至少有6个项,这样才不会出现参数异常。