选项卡关闭控制绕过验证 .NET

Posted

技术标签:

【中文标题】选项卡关闭控制绕过验证 .NET【英文标题】:Tabbing off control bypasses validation .NET 【发布时间】:2010-02-25 20:04:07 【问题描述】:

所以,我有一个用户控件,它只是一个具有特殊格式规则的文本框(我不只是使用 MaskedTextBox……你知道……明智的解决方案是有原因的)。

无论如何,当用户输入无效数据时,他们无法使用鼠标单击鼠标,因为 TextBox_Validating 事件按原样取消,并且控件在输入可接受的输入之前无法失去焦点。但是,如果他们尝试关闭控件,则会触发“e.Cancel = True”语句(我通过使用断点知道这一点),但 WinForms 仍然允许他们关闭其他控件,从而在文本框。

我缺少什么来使标签行为适当?

【问题讨论】:

+1 表示不使用邪恶的 MaskedTextBox。 -100 不允许人们随时离开文本框。帮助!我快要窒息了! 【参考方案1】:

从 .Net Framework 2.0 版开始,您可以使用Form.AutoValidate 属性来修改验证行为。请参阅documentation 了解更多信息。

我刚刚测试了标签问题,当验证失败时(例如取消 = true),它不允许我退出标签。当验证成功时(e.Cancel = false)一切正常。

【讨论】:

以上是关于选项卡关闭控制绕过验证 .NET的主要内容,如果未能解决你的问题,请参考以下文章

在切换到 UITabbarController 中的不同选项卡之前关闭当前选项卡上的推送视图控制器

如何关闭 ASP.NET 应用程序的默认选项卡

删除所有选项卡的选项卡关闭时的 sessionStorage 属性

ASP.Net MVC 3客户端验证,带有3个选项卡表单

关闭 xib 并转到选项卡栏控制器应用程序中的视图控制器

关闭 Azure 数据流选项卡后自动取消选择链接服务