2009-05-20 7 views
1

我窗体上的一个字段是用户键入id的文本框。这是另一个表的外键,所以我需要在提交数据之前将数据反弹到该表。我宁愿不使用textchanged,因为他们输入的每个字母都可能会引起另一个查询,焦点丢失只会显示错误,或者当它们已经在另一个字段中时进行验证(不确定它们是否会在点击提交时触发)。对数据库的vb.net文本框验证?

我不希望强迫某人的焦点留在该领域,但也许这是最好的方式?

是否有一种方法可以休眠并等待X秒内是否有另一个传入的按键事件?如果是的话,我可以偷看看它是一个字母或数字与一个标签或返回?

是否有另一个事件我应该挂钩这是用户友好?

我应该拉下表格的那一栏的副本,并实时比较吗? (我可以处理添加一个刷新按钮来拉一个新的缓存)

回答

1

你可能要考虑使用计时器控制。

每次按下该键时禁用并启用控件,以重置超时。

然后,当定时器事件触发时,禁用该控件并查询数据库。

编辑: 我仍然认为你最好的选择可能是失落焦点事件。

+0

丢失的重点事件似乎在我的机器上正常运行。服务器的响应看起来很快,所以我不确定用户机器上会发生什么。由于在用户尝试将焦点切换到的位置时禁用了表单,因此我在禁用该字段时会暂时禁用该数据库。 – Maslow 2009-05-20 21:09:09