2009-12-18 91 views
1

我需要在失去焦點時驗證控件輸入。通常我會使用驗證事件。然而,這個過程涉及到檢查輸入的數據與280,000多個郵政編碼的本地數據庫。我希望這個驗證是異步發生的,因爲在用戶輸入剩餘表單數據之前,用戶不需要等待它。異步控制驗證

我的第一個想法是將驗證邏輯封裝在自己的方法中,綁定一個委託並在控件驗證事件中使用BeginInvoke()和EndInvoke,因爲沒有可能的驗證結果需要取消= True(它們會只需更改控制前景)。

有沒有更好的方法?

回答

3

你可能想看看一個BackgroundWorker

+0

完美!正是我所需要的。 ProgressChanged和RunWorkerCompleted事件提供的控制級別勝過我的委託。謝謝:) – 2009-12-18 16:33:28

1

您可能會發現這樣做的BackgroundWorker的好方法。

需要考慮的一件事是用戶在驗證完成運行之前嘗試提交表單。

+0

+1 Thanks Pondidum。 TJMonk打了你幾秒鐘。但那也意味着我應該感謝你。 – 2009-12-18 16:34:41