我正在尝试模拟“键入时查找”功能,就像 FireFox 中的地址栏(“awesome bar”)一样。我想要一个建议框出现在文本框下方,并且建议框包含包含文本框中内容的字符串。我查看了普通 WinForms 文本框的自动完成功能,但它似乎只搜索字符串的开头。
这里有没有人构建过这样的东西或者有过实现这样的东西的经验?
编辑: 一些澄清 - 这是一个 WinForms 项目。 它需要在字符串内搜索,而不仅仅是开头(如果我没记错的话,这是普通文本框所做的)。建议应该显示在弹出窗口中,例如文本框自动完成。
最佳答案
您需要为您的文本输入字段处理 TextChanged 事件,并且当文本更改时,启动一个运行的新线程以应用新搜索。如果在您得到结果之前文本发生了变化,只需终止线程即可。如果线程及时返回结果,则显示它们。
您可以稍微高级一点(例如,在文本更改后等待一小段时间,以便用户可以键入单词,而不会触发无用线程的负载),但基本上仅此而已。
关于c# - 在 C# 中键入时查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1121431/