MaterialSkin.2中如何引用ListBoxChecked的选中项?
MaterialSkin.2中MaterialListBoxChecked获取选中项的解决方案
问题描述
在基于MaterialSkin.2 NuGet包的MaterialForm WinForms项目中,使用MaterialListBoxChecked控件时,无法像标准WinForms的CheckedListBox那样通过CheckedIndices属性直接获取选中项,找不到便捷的选中项引用方式。
解决方案
MaterialListBoxChecked与MaterialListBox均未提供直接获取选中项的内置属性,需要通过遍历控件的Items集合来筛选选中项。注意原示例代码存在索引越界问题(循环条件i <= Items.Count会访问到不存在的索引),修正后的实现代码如下:
// 用于存储选中项文本的集合 List<string> checkedItems = new List<string>(); for (int i = 0; i < MaterialListBoxChecked.Items.Count; i++) { if (MaterialListBoxChecked.Items[i].Checked) { checkedItems.Add(MaterialListBoxChecked.Items[i].Text); } }
说明
- 遍历MaterialListBoxChecked的每一个Item,通过
Checked属性判断是否被选中 - 将选中项的
Text属性值添加到集合中,后续即可基于该集合执行相应操作
内容的提问来源于stack exchange,提问作者JJablonski
相关产品推荐
相关产品推荐

