2015-02-10 77 views
1

我正在嘗試找出一種方法,只將值添加到清單框中,如果該值尚不存在。有沒有辦法掃描文本框,然後將值寫入CheckListBox。目前它只測試該值是否爲空。如果該值不存在,則將值添加到清單框

var loanItems = chkBoxAssetLoan.Items; 
if (cboLoanAssetName.SelectedItem != null) 
{ 
    loanItems.Add(cboLoanAssetName.SelectedItem.ToString(), true); 
} 
+0

叫它可能重複[獲取CheckBoxList它em值](http://stackoverflow.com/questions/12429655/getting-checkboxlist-item-values) – 2015-02-10 15:43:22

回答

0

使用List Contains方法:

var loanItems = chkBoxAssetLoan.Items; 
     if ((cboLoanAssetName.SelectedItem != null) 
     { 
      if (!loanItems.Contains(cboLoanAssetName.SelectedItem)) 
      { 
      loanItems.Add(cboLoanAssetName.SelectedItem.ToString(), true); 
      } 
     } 
0

你可以寫這樣的方法(假設你的項目都是字符串)

void InsertIfNotExist(CheckedListBox clb, string newItem, bool defaultCheck) 
{ 
    bool result = clb.Items.Cast<string>().Any(x => x == newItem); 
    if(!result) clb.Items.Add(newItem, defaultCheck); 
} 

if (cboLoanAssetName.SelectedItem != null) 
{ 
    InsertIfNotExist(chkBoxAssetLoan, 
        cboLoanAssetName.SelectedItem.ToString(), 
        true); 
} 
相關問題