如何使ComboBox在项目中自动完成
问题描述:
我有一个包含很多项目的组合框。为了演示目的,可以说“一”,“二”,“三”如何使ComboBox在项目中自动完成
我希望用户能够键入文本“e”并将完成选项缩减为任何包含字母“e” 。从第一个字母完成它很容易:将组合框样式设置为DropDown以允许输入文本,将自动完成源设置为ListItems并将自动完成模式设置为SuggestAppend。
但如何我扩展功能,使寻找那个包含用户的文本,而不是开始用户文本的项目?
是否有可以做到这一点的替代免费(更可取的开源)组合框组件?
我在堆栈溢出,代码项目和更大的谷歌结果集上找到的所有解决方案似乎都没有答案,没有做出问题创建者的窍门,或者是如此特殊以至于我害怕尝试将它们翻新为我的十几个相关的组合框。
答
这里有一个CodeProject上的链接,做你描述的正是:http://www.codeproject.com/Tips/631196/ComboBox-with-Suggest-Ability-based-on-Substring-S
由于该项目的作者所说的那样:
的问题是:你无法定义的方式,建议项目 过滤/决心。它总是一个“StartsWith'搜索...这就是为什么我 决定写我自己的类...输入...因为它是一个包含 - 搜索匹配一个多项目 。
谢谢。我确实遇到过这种情况,但由于它实际上使用了添加到表单中的ListBox,所以它表现得有点过分。如果组合框太靠近窗体的底部边缘,它也不会将该列表框放在窗体的底部。最终的功能几乎正是我所追求的 – feihtthief 2014-09-29 22:51:00