在 ListBox (C#) 中仅显示匹配项?

Show only matched items in ListBox (C#)?

我编写了快速搜索功能,用于在列表框中搜索匹配项:

 for (int i = listBox1.Items.Count - 1; i >= 0; i--)
            {
                if (listBox1.Items[i].ToString().Contains(textBox1.Text))
                {
                    listBox1.SetSelected(i, true);
                }
            }

它选择第一个匹配项。我怎样才能暂时隐藏所有其他不匹配搜索查询的项目(在此 ListBox1 内)?

顺便说一下,ListBox 只包含数字,没有文本字符串。

Full source code here.

假设为 MultiExtended 设置了 SelectionMode 属性,请尝试将您的 "if" 条件移动到布尔参数中:

for (int i = listBox1.Items.Count - 1; i >= 0; i--) {
  listBox1.SetSelected(i, listBox1.Items[i].ToString().Contains(textBox1.Text));
}