2010-02-25 73 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是正常的。