有没有办法确定我的checkedlistbox的项目是否包含来自字符串/数组的数据?
我的文本框包含以下内容:
txtActivities.Text = "ABC, DEF";
我的checklistbox(包含以下内容)
我想做的是: (1)将“活动”拆分为数组:
string[] tokens = txtActivities.ToString().Split(',');
和(2)尝试根据我的文本框“检查”我的checkboxlist(cListActivities)中找到的项目
for (int i = 0; i < frm.clistActivities.Items.Count; i++){
if (frm.clistActivities.Items[i].ToString().Contains(tokens)) //error?
{
frm.clistActivities.SetItemChecked(i); // not working
}}
输出:应检查项目ABC和DEF。
有什么建议吗?
答案 0 :(得分:2)
您需要检查令牌是否包含该项目,然后将SetItemChecked设置为true
。
换句话说,
if (Array.IndexOf(tokens, frm.clistActivities.Items[i].ToString() >= 0)
frm.clistActivities.SetItemChecked(i, true);
答案 1 :(得分:1)
逗号和D之间有空格。
试试这个:
"ABC,DEF"
编辑:这段代码对我有用。
foreach(string strMyString in tokens)
{
this.clistActivites.SetItemChecked(clistActivities.FindStringExact(strMyString), true);
}