2015-12-22 45 views
1

我的要求是如果一個項目(textBox中的文本)已經出現在列表框中,然後根本不添加。但其他部分,我不能在我的foreach循環中使用添加item.here我的code.Help我如何添加一個項目,如果一個項目不在列表框中。在列表框中添加一個項目

protected void Button1_Click(object sender, EventArgs e) 
{ 
     if (RadioButton1.Checked) 
     { 
      if (ListBox1.Items.Count == 0) 
      { 
       ListBox1.Items.Add(TextBox1.Text); 
       Label2.Text = "<b style='color:green'> item updated in the listbox </b>"; 
      } 
      else 
      { 
       foreach (ListItem li in ListBox1.Items) 
       { 
        if (li.Text.ToUpper() == TextBox1.Text.ToUpper()) 
        { 
         Label2.Text = "<b style='color:red'> access denied 
         break; 
        } 
       } 

      } 

     } 

    } 
+0

請幫忙....... – chikun

回答

2

簡單:

ListItem item = new ListItem(TextBox1.Text); 

if (!ListBox1.Items.Contains(item)) 
{ 
//Add item here 
} 
+0

這顯示參數無效..沒爲我工作。 。 :( – chikun

+0

檢查我的編輯,你必須使用ListItem的'包含' –

+0

它的工作。但問題是我不想添加重複..假設我輸入「你好」。然後它不應該接受「你好」所以我不能使用包含方法 – chikun

0

如果您正在使用從System.Windows.Controls列表框,昆汀·羅傑已經給你正確的解決方案。我剛試過看到 爲什麼它不起作用。您可以簡單地在另一個項目中進行測試:

ListBox lb = new ListBox(); 
lb.Items.Add("Test"); 
bool b = lb.Items.Contains("Test"); 

b將爲真。

對不起,我知道這應該是在一個評論,而不是在一個單獨的答案,但 我沒有寫評論的特權。

+0

它的工作,但問題是我不想添加重複..假設我輸入「你好」,那麼它不應該接受「你好」在任何情況下。我不能使用包含方法 – chikun

+0

這裏我沒有問題,對不起。如果你想檢查是否有什麼不在列表框中,你可以在調用contains之前簡單地使用「!」:if(!lb.Items .contains(「s」)){..} - 在這種情況下,「s」不在列表中,所以整個語句將爲true,程序將進入if語句。 (!lb.Items.Contains(「Test」)){lb.Items.Add(「Test」);}。所以測試將被添加,因爲它不在列表中。 –

+0

它只會檢測k如果項目「Test」存在或不存在。如果我輸入「tEst」或「tesT」,那麼它將接受..我想要避免的問題 – chikun

0
bool status = false; 
    if (RadioButton1.Checked) 
    { 
     if (ListBox1.Items.Count == 0) 
     { 
      ListBox1.Items.Add(TextBox1.Text); 
      Label2.Text = "<b style='color:green'> item updated in the listbox </b>"; 
     } 
     else 
     { 
      foreach (ListItem li in ListBox1.Items) 
      { 
       if (li.Text.ToUpper() == TextBox1.Text.ToUpper()) 
       { 
        Label2.Text = "<b style='color:red'> access denied </b>"; 
        status = true; 
        break; 
       } 

      } 
      //ListItem item = new ListItem(TextBox1.Text); 
      //if (!ListBox1.Items.Contains(item)) 
      //{ 
      // ListBox1.Items.Add(TextBox1.Text); 
      // Label2.Text = "<b style='color:green'> item updated in the listbox </b>"; 
      //} 
      if (status == false) 
      { 
       ListBox1.Items.Add(TextBox1.Text); 
       Label2.Text = "<b style='color:green'> item updated in the listbox </b>"; 
      } 
     } 

    } 

這裏是我的解決方案