【问题标题】:How do i make a search bar for a listbox?如何为列表框制作搜索栏?
【发布时间】:2014-03-28 19:10:21
【问题描述】:

所以,我想要完成的是,通过一个文本框 (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]);
                }
            }
        }
    }

但这似乎不起作用。

【问题讨论】:

    标签: c# list listbox


    【解决方案1】:

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

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

    这会在输入字符时添加字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多