如何根据搜索的字符串过滤ListBox中的项目

时间:2010-05-06 13:16:19

标签: c# winforms data-binding

我有一个包含ListBox的Windows窗体应用程序(C#),我在其中添加了一些项目(我没有使用DataSource)。我想过滤ListBox中的项目,只显示包含我正在搜索的字符串的项目。

我这样做是通过保留原始项目列表并在每次搜索字符串更改并更新ListBox.Items

时从该列表中选择匹配项目

有更优雅/有效的方法吗?

2 个答案:

答案 0 :(得分:0)

  

有更优雅/更有效的方法吗?

不,不是真的。

您可以通过BindingSource连接并具有过滤和排序属性,但这不适用于简单的List<>。所以你必须使用像DataTable这样的东西,这不会是一个改进。

您当前的方法似乎很好,特别是如果您可以使用LINQ过滤列表。

但我希望你不是每次都循环使用Items属性,只需将过滤后的列表分配给Listbox1.DataSource。

答案 1 :(得分:0)

这是一篇可能与您的问题相关的帖子,即使已经回答了问题。

Filtering a listbox