0

有没有办法确定我的选中列表框的项目是否包含来自字符串/数组的数据?

我的文本框包含以下内容:

txtActivities.Text = "ABC, DEF";

我的复选框(包含以下内容)

  • 美国广播公司
  • 国防军
  • 全球健康指数
  • JKL

我想要做的是:(1)将“活动”拆分为数组:

string[] tokens = txtActivities.ToString().Split(',');

(2) 尝试根据我的文本框“检查”在我的复选框列表 (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。

有什么建议么?

4

2 回答 2

2

您需要检查令牌是否包含该项目,然后将 SetItemChecked 设置为true

换句话说,

if (Array.IndexOf(tokens, frm.clistActivities.Items[i].ToString() >= 0)
     frm.clistActivities.SetItemChecked(i, true);
于 2010-11-09T03:21:44.290 回答
1

逗号和 D 之间有一个空格。

尝试这个:

"ABC,DEF"

编辑:这段代码对我有用。

  foreach(string strMyString in tokens)
            {   
             this.clistActivites.SetItemChecked(clistActivities.FindStringExact(strMyString), true);
            }
于 2010-11-09T03:37:14.183 回答