我有一些控件和一个ErrorProvider的winforms。控件的验证事件用于验证数据并将错误报告给ErrorProvider(如果有)。当用户在控件中输入错误的信息并离开控件时,这项工作非常有用。
但是,如果用户在未输入任何数据的情况下单击,则不会进行验证。当用户单击确定时,有没有办法强制验证所有控件?在某些验证失败的情况下,我如何知道并取消OK事件?
答案 0 :(得分:14)
您可以使用Form.ValidateChildren强制验证表单上的所有控件,只要它们支持验证即可。请注意,任何将CausesValidation设置为False的控件都不会引发Validating事件,因此不会被ValidateChildren验证。
答案 1 :(得分:3)
您也可以使用任何祖先Validate
的{{1}}或ValidateChildren
,其中ContainerControl
应该效果最佳。
请注意,Validate
是Form
。