我需要在失去焦點時驗證控件輸入。通常我會使用驗證事件。然而,這個過程涉及到檢查輸入的數據與280,000多個郵政編碼的本地數據庫。我希望這個驗證是異步發生的,因爲在用戶輸入剩餘表單數據之前,用戶不需要等待它。異步控制驗證
我的第一個想法是將驗證邏輯封裝在自己的方法中,綁定一個委託並在控件驗證事件中使用BeginInvoke()和EndInvoke,因爲沒有可能的驗證結果需要取消= True(它們會只需更改控制前景)。
有沒有更好的方法?
我需要在失去焦點時驗證控件輸入。通常我會使用驗證事件。然而,這個過程涉及到檢查輸入的數據與280,000多個郵政編碼的本地數據庫。我希望這個驗證是異步發生的,因爲在用戶輸入剩餘表單數據之前,用戶不需要等待它。異步控制驗證
我的第一個想法是將驗證邏輯封裝在自己的方法中,綁定一個委託並在控件驗證事件中使用BeginInvoke()和EndInvoke,因爲沒有可能的驗證結果需要取消= True(它們會只需更改控制前景)。
有沒有更好的方法?
你可能想看看一個BackgroundWorker
您可能會發現這樣做的BackgroundWorker的好方法。
需要考慮的一件事是用戶在驗證完成運行之前嘗試提交表單。
+1 Thanks Pondidum。 TJMonk打了你幾秒鐘。但那也意味着我應該感謝你。 – 2009-12-18 16:34:41
完美!正是我所需要的。 ProgressChanged和RunWorkerCompleted事件提供的控制級別勝過我的委託。謝謝:) – 2009-12-18 16:33:28