2016-02-08 70 views
1

我敢肯定這個問題可以適用於這兩個,雖然我通常使用VB6代碼,但爲什麼使用失去焦點vs驗證?例如,假設我需要在出生日期的文本框中輸入日期,我想確保日期以mm/dd/yyyy格式輸入,爲什麼我會選擇使用驗證vs失去焦點?VB6 + VB.NET lostFocus vs驗證?

+1

除了馬特的答案,字段驗證在許多應用程序中並不實用。一個控件的驗證可能取決於另一個控件的價值,或涉及複雜的業務規則。 – Plutonix

+1

我使用驗證當我想要對文本進行一些驗證並可能阻止用戶遠離控件。我通常會避免失去焦點,但可以用它來調整控件的一些微不足道的視覺方面,比如改變顏色以顯示焦點所在的位置。 –

+1

...即使你不使用'DateTimePicker'也沒有理由限制。 'DateTime'可以[解析](https://dotnetfiddle.net/WImdZ7)可以從文化的任何法律格式解析。 – Plutonix

回答

3

當用戶將焦點從該控件移動到另一個控件時,丟失的焦點僅會觸發。驗證的事件在驗證點觸發。這裏驗證的更多信息:WinForm UI Validation

請注意,您應該使用datetimepicker作爲日期條目;這樣你就不必擔心輸入的格式數量,因爲它的value屬性是date