异步控制验证

时间:2009-12-18 16:22:08

标签: c# winforms multithreading

我需要在失去焦点时验证控件输入。通常我会使用Validating事件。然而,该过程涉及根据超过280,000个邮政编码的本地数据库检查输入的数据。我希望这种验证是异步发生的,因为在用户输入剩余的表单数据之前不需要等待它。

我的第一个想法是将验证逻辑封装在自己的方法中,将委托绑定到它并在控制验证事件中使用BeginInvoke()和EndInvoke,因为验证的可能结果不会要求Cancel = True(它们将简单改变控制前色。)

有没有更好的方法?

2 个答案:

答案 0 :(得分:3)

您可能需要查看BackgroundWorker

答案 1 :(得分:1)

您可能会发现BackgroundWorker是一种很好的方法。

要考虑的一件事是用户在验证运行完毕之前尝试提交表单。

相关问题