我想实现类似的Google搜索栏我们的应用程序的行为:用户必须能够输入用户名作为自由文本并根据输入的数据系统必须提供几个基于已有用户名的弹出栏上的建议。WinForms:提供带有动态建议弹出的文本编辑器
下面是简要算法:
- 用户输入一些字符文本编辑框
- 系统触发一个Web服务调用一些改变事件里面的更新建议列表数据
- 文本编辑还必须提供输入和保留自由文本以创建新用户的能力,而不仅仅是查找存在的
我不能使用devexpress
的lookupeditds - 它们允许只保留值,在数据源呈现 - 即使新的价值已被内部处理ProcessNewValue
加入到数据源,
更改事件触发一个更多的时间与我的清爽数据源覆盖新的独特价值。 现在我期待Combobox控制。但看起来像没有能力输入自由文本旁边显示建议弹出。
如果您对第三方库开放,Infragistics NetAdvantage for Windows Forms有一个我们广泛使用的伟大的自动建议组合框。它正是你想要达到的。 – Mangist
@Mangist谢谢你的建议。不知道它可能在我的项目中:-( –
您可以使用常规的Windows窗体组合然后使用AutoCompleteMode属性。https://msdn.microsoft.com/en-us/library/system.windows.forms.combobox .autocompletemode(v = vs.110).aspx作为用户类型,您将不得不击中数据库,然后重新加载ComboBox中的Items列表。我将使用DataSource,DisplayMember,ValueMember。您可以使其工作,我 – Mangist