文本框自动完成源

时间:2014-04-02 14:02:02

标签: c# winforms autocomplete textbox

使用 winforms 中的组合框我可以添加可以作为自定义类的项目,并且组合中显示的内容是该类的ToString()方法的结果

我希望在TextBox的自动完成方面有类似的行为,但在我看来,你必须为此提供AutoCompleteStringCollection。是否有人知道我可以将int值与文本框AutoCompleteSource中的每个字符串相关联的方法?

编辑 - 我不能简单地根据所选字符串查找int因为它们可能是文本框自动完成中的字符串相同

1 个答案:

答案 0 :(得分:0)

这是一个可能的解决方案;有点黑客,但它可能会帮助你。

如果以对用户可接受的方式将数字添加到字符串中并且可以轻松重新组合/可移除,则可以在KeyUp事件中测试它,提取索引并清理文本。

所以字符串看起来像这样

New York City          <<01>>

你不会有太多麻烦来获取索引并删除标记..

查看this answer by Hans谁处理检测被触发的(假)KeyDown。您可以对此进行调整以处理KeyUp,这样您就不会干扰正常编辑。

但重申一点,这没有任何意义,如果对于用户的选择,字符串有意义而不是他们的位置..