2010-02-25 71 views
0

所以,我有一個用戶控件,它只是一個帶有特殊格式規則的文本框(有理由我不只是使用MaskedTextBox ......你知道......明智的解)。tabbing off控制繞過驗證.NET

無論如何,當用戶輸入無效數據時,由於TextBox_Validating事件取消了,它們不能使用鼠標點擊,並且控件在輸入可接受的輸入之前不會失去焦點。但是,如果他們嘗試關閉控件,'e.Cancel = True'語句正在被擊中(我通過使用斷點知道這一點),但WinForms仍然允許它們切換到其他控件,從而將無效數據留在文本框。

我錯過了什麼讓Tab鍵行爲適當?

+0

+1不使用邪惡的MaskedTextBox。 -100不允許人們隨時留下文本框。幫幫我!我很窒息! – 2010-02-25 20:26:14

回答

0

從.NET Framework 2.0版開始,您可以使用Form.AutoValidate屬性來修改驗證行爲。有關更多信息,請參閱documentation

我剛剛測試了Tab鍵問題,它不會讓我在驗證失敗時退出(e.Cancel = true)。驗證成功時(e.Cancel = false)everyting是正常的。