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