网上找了半天,没找到能用的。
不过倒是找到了思路。
正着一个个删,是删不掉滴,删一个后,下一个的index就变了。INDEX是空不了的。
只能反着移。
先写了一个笨一点的方法,循环最多次,倒是能实现一次性全删除,不过循环过多。
for
(
int
i
=
checkedListBox1.Items.Count
-
1
; i
>
-
1
; i
--
)
{
if (checkedListBox1.GetItemChecked(i))
{
checkedListBox1.Items.RemoveAt(i);
}
}
{
if (checkedListBox1.GetItemChecked(i))
{
checkedListBox1.Items.RemoveAt(i);
}
}
用CheckedItems,CheckedIndices实现,有多少个被选中,就循环多少次。
for
(
int
i
=
checkedListBox1.CheckedItems.Count
-
1
; i
>-
1
; i
--
)
{
checkedListBox1.Items.RemoveAt(checkedListBox1.CheckedIndices[i]);
}
{
checkedListBox1.Items.RemoveAt(checkedListBox1.CheckedIndices[i]);
}