如何根据搜索的字符串过滤ListBox中的项目
我有一个包含ListBox的Windows窗体应用程序(C#),我在其中添加了一些项目(我没有使用DataSource)。 我想过滤ListBox中的项目,只显示包含我正在搜索的字符串的项目。
我这样做是通过保留原始项目列表并在每次搜索字符串更改和更新ListBox.Items时从该列表中选择匹配项目
有更优雅/有效的方法吗?
有更优雅/更有效的方式吗?
不,不是真的。
您可以通过BindingSource连接并具有Filter和Sort属性,但这对于简单的List <>不起作用。 所以你必须使用像DataTable这样的东西,这不会是一个改进。
您当前的方法似乎很好,特别是如果您可以使用LINQ过滤列表。
但我希望你不是每次都循环使用Items属性,只需将过滤后的列表分配给Listbox1.DataSource即可。
这是一篇可能与您的问题相关的post,即使它已经全部回答了。
过滤列表框