如何为列表框创建搜索栏?

时间:2014-03-28 19:10:22

标签: c# list listbox

所以,我想要完成的是通过文本框(searchTxt),我可以获得一个列表框(lbRooms)来缩小和删除它具有的项目,以符合搜索框中文本的标准,但是然后当搜索栏的文本为空/你删除其中的一些文本时,我希望这些项目能够回来。我试过制作一个List 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]);
                }
            }
        }
    }

但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

您可以参考System.Linq并尝试:

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

在输入字符时添加字符。