gpt4 book ai didi

C# 文本框自动完成 : Limit to ~50 suggestions

转载 作者:太空狗 更新时间:2023-10-29 23:48:46 24 4
gpt4 key购买 nike

我在 C# 中使用一个文本框作为数据库 (Access SQL) 记录查找输入的 ID 号。我希望能够在文本框上使用自动完成功能,但有一些限制。

最大的问题是系统中的 ID 数量大约为数千,因此我不需要将所有 ID 填入自动完成框,而是需要监视文本框中的内容,并且只在出现时显示自动完成建议大约有 50 个或更少的选择。

目前,我正在对每个 KeyDown 执行此查询:SELECT count(*) FROM Table WHERE id LIKE 'textbox.text%'

当计数小于 50 时,我用上述语句的 SELECT id 版本的结果填充自动完成。这导致我遇到了几个问题,大多数似乎是我不理解的 C# 怪癖。

1) 当我在单个 KeyDown 事件中清除或添加到 AutoCompleteCustomSet 时,实际按下的键不会添加到字符串中(即不会发生正常的文本框输入行为)。

2) 我尝试将 AutoCompleteCustomeSet 更新分离到不同的事件(KeyPress 或 KeyUp),但这要么导致崩溃,要么自动完成显示在被隐藏之前只会短暂显示。

我觉得这个问题一定很普遍,我只是以错误的方式解决了这个问题。谁能提供一些建议?谢谢!

编辑:这是 Windows 窗体

EDIT2:前 50 名的选择并不能解决随着用户键入(并可能退格并重新键入)前 50 名会发生变化的问题。

最佳答案

您是否尝试过 TextChanged 事件?我希望在更新文本框后触发该事件,从而避免您提到的怪癖。

关于C# 文本框自动完成 : Limit to ~50 suggestions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com