2010-11-09 28 views
0

有沒有一種方法來確定我的checkedlistbox的項目是否包含來自字符串/數組的數據?C#/ WinForms:設置CheckedListBox項目包含來自字符串/數組的數據

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

txtActivities.Text = "ABC, DEF"; 

我checklistbox(含以下)

  • ABC
  • DEF
  • GHI
  • JKL

我想要做的是: (1)分拆「活動」到數組:

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

和(2)儘量「檢查」根據我的文本框在我checkedboxlist(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應該進行檢查。

有什麼建議嗎?

回答

2

您需要檢查令牌是否包含該項目,然後將SetItemChecked設置爲true

換句話說,

if (Array.IndexOf(tokens, frm.clistActivities.Items[i].ToString() >= 0) 
    frm.clistActivities.SetItemChecked(i, true); 
+0

'System.Array'不包含'Contains'的定義 – abramlimpin 2010-11-09 03:28:24

+0

@eibhrum:Fixed;抱歉。 – SLaks 2010-11-09 03:29:50

1

你有逗號和D.

之間的空間試試這個:

"ABC,DEF" 

編輯:此代碼爲我工作。

foreach(string strMyString in tokens) 
      { 
      this.clistActivites.SetItemChecked(clistActivities.FindStringExact(strMyString), true); 
      } 
+0

仍然不起作用。 – abramlimpin 2010-11-09 04:13:19

相關問題