Edw*_*win 10 c# validation winforms
我有一个包含多个文本框和其他控件的表单.我正在使用errorprovider控件,我在每个需要验证的文本框上连接了验证事件.当控件将焦点转移到另一个控件时,会发生Validating事件.因此,当您使用Tab键移动当前控件或使用鼠标1单击另一个控件时,会发生该事件.我发现这非常烦人,只是举个例子,如果我打开这个winform,然后立即尝试关闭它,它不会让我,因为验证会触发抱怨第一个文本框没有输入文本.
我想要的行为是使用errorprovider,我怎么才能在单击表单的Save按钮时验证整个表单?
谢谢
Joã*_*elo 10
检查属性Form.AutoValidate.
可能的值:
不会发生隐式验证.设置此值不会干扰对Validate或ValidateChildren的显式调用.
当控件失去焦点时,会发生隐式验证.
发生隐式验证,但如果验证失败,焦点仍将更改为新控件.如果验证失败,则不会触发Validated事件.
将其设置为EnableAllowFocusChange
将解决打开表单的问题,并立即尝试关闭它,因为焦点将转移到"取消"按钮.
如果要完全控制验证,可以将其设置为Disable
并使用Form.Validate
和执行手动验证Form.ValidateChildren
.我不是100%肯定,但我相信Form.ValidateChildren
不会触发放置在控件内的控件的验证事件TabControl
.
归档时间: |
|
查看次数: |
15383 次 |
最近记录: |