我有一个带有几个文本框和其他控件的表单。我正在使用 errorprovider 控件,并将验证事件连接到需要验证的每个文本框上。当一个控件将焦点转移给另一个控件时,将发生 Validating 事件。因此,当您使用 Tab 键离开当前控件或用鼠标单击另一个控件时,该事件就会发生1 http://www.devx.com/DevX/Article/33506。我发现这非常烦人,举个例子,如果我打开这个 winform,然后立即尝试关闭它,它不会让我这么做,因为验证会触发抱怨第一个文本框没有输入文本。
我想要的行为是使用 errorprovider,如何仅在单击表单的“保存”按钮时验证整个表单?
Thanks
检查财产表单自动验证 http://msdn.microsoft.com/en-us/library/51d5b3a8.aspx.
可能的值:
不会发生隐式验证。设置该值不会
干扰显式调用
验证或验证子项。
隐式验证发生在
控制失去焦点。
发生隐式验证,但如果
验证失败,焦点仍然存在
更改为新控件。如果
验证失败,Validated 事件
不会着火。
将其设置为EnableAllowFocusChange
将解决打开表单并立即尝试关闭它的问题,因为焦点将转移到“取消”按钮。
如果您想完全控制验证,可以将其设置为Disable
并使用执行手动验证Form.Validate
and Form.ValidateChildren
。我不是 100% 确定,但我相信Form.ValidateChildren
不会触发放置在 a 中的控件的验证事件TabControl
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)