2011-08-12 7 views
0

最初の列を除いてListView内のListViewItem全体を削除します。私はメソッドを持っていますが、理由を見つけることができないArgumentRangeExceptionを投げることがあります。最初の列を除くListViewItems全体を削除します

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

は、このようなsomethinをお試しください:

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

あなたのコードの問題は、あなたがサブアイテムコレクション内の項目の変化量を持っているということはおそらくです。あなたが示したコードでは、サブジェクトコレクション内に少なくとも6個のアイテムがある必要があります。

+0

[havent]プロパティがあるので、このように変更しました> lstKullanicilar.Items [i] .SubItems.Count> 1とコードが機能しました。 –

+0

ありがとうございました。 –