2014-03-28 47 views
0

所以,我試圖完成的是通過一個文本框(searchTxt)我可以得到一個列表框(lbRooms)來縮小和刪除它的項目,以適應搜索框中文本的標準,但是當搜索欄的文本爲空/你刪除了其中的一些文本時,我希望項目回來。我試圖做一個列表roomList:如何爲列表框創建搜索欄?

public List<string> roomList = new List<string>(); 

每當一個項目被添加到列表框中,將其添加到列表,然後我想:

private void searchTxt_TextChanged(object sender, EventArgs e) 
    { 
     for (int i = 0; i < lbRooms.Items.Count; i++) 
     { 
      string s = lbRooms.Items[i].ToString(); 
      if (!s.Contains(searchTxt.Text)) 
      { 
       lbRooms.Items.RemoveAt(i); 
      } 
      else 
      { 
       if (!lbRooms.Items.Contains(roomList[i])) 
       { 
        lbRooms.Items.Add(roomList[i]); 
       } 
      } 
     } 
    } 

但是,這似乎並沒有工作。

回答

0

你可以參考System.Linq和嘗試:

if (!lbRooms.Items.Any(l => l == searchTxt.Text)) 
    lbRooms.Items.Add(searchTxt.Text); 

,因爲它們可以鍵入那會添加字符。