1

我有一个 Windows 程序(.NET 4.5),它有一个带有自定义下拉数据的组合框。我的自动完成类型设置为 AppendSuggest,这样客户就可以轻松输入名称,按 Tab 或 Enter,然后进入下一个框进行填写。

当组合框失去焦点(转到另一个控件)时,程序将解析文本框中的文本。如果该名称存在于数据库中,它将将该人附加到该实例,否则它将在数据库中创建一个具有该名称(正确大小写)的新人。

按 tab 允许自动完成框填写剩余的文本,并成功地将其附加到数据库。但是,如果按下回车按钮,或者更重要的是,客户试图从自动完成下拉列表中单击用户,文本框会简单地删除其中的所有文本并移至下一个框,其中没有任何内容。

我不知道如何拦截用户点击的数据。理想情况下,我只希望用户从下拉列表中单击一个项目并让它填充文本,然后解析该文本并继续前进。

我还检查了我的代码,代码中没有从该组合框中删除文本的位置。它似乎在幕后自行发生。

另外,我是 C# 中的高级程序员,虽然我真的没有使用过自动完成功能,但我很困惑我被这么简单的事情难住了。

4

0 回答 0