如何统计CheckedListBox中已勾选元素数量?代码报错求助
CheckedListBox统计已勾选元素数量报错解决
我有一个名为chDay的CheckedListBox控件,想要统计其中已勾选元素的数量,一开始误用了Selected属性,编写的代码如下:
int count = 0; for (int i = 0; i < chDay.Items.Count; i++) { if (chDay.Items[i].Selected == true) { count = count + 1; } }
运行时出现错误:“object”不包含“Selected”的定义,并且找不到可接受第一个“object”类型参数的可访问扩展方法“Selected”
问题原因与解决方法
CheckedListBox的Items集合中的元素是object类型,本身并没有Selected属性。要判断项是否被勾选,应该使用控件提供的专门方法或集合:
- 修改循环判断逻辑:使用
GetItemChecked(int index)方法判断指定索引的项是否被勾选
int count = 0; for (int i = 0; i < chDay.Items.Count; i++) { if (chDay.GetItemChecked(i)) { count++; } }
- 更简洁的实现方式:直接通过
CheckedItems集合获取已勾选项的数量
int count = chDay.CheckedItems.Count;
内容的提问来源于stack exchange,提问作者zorax8137
相关产品推荐
相关产品推荐

