如何强制控件验证自身?

时间:2009-11-18 16:06:53

标签: .net winforms validation

我有一些控件和一个ErrorProvider的winforms。控件的验证事件用于验证数据并将错误报告给ErrorProvider(如果有)。当用户在控件中输入错误的信息并离开控件时,这项工作非常有用。

但是,如果用户在未输入任何数据的情况下单击,则不会进行验证。当用户单击确定时,有没有办法强制验证所有控件?在某些验证失败的情况下,我如何知道并取消OK事件?

2 个答案:

答案 0 :(得分:14)

您可以使用Form.ValidateChildren强制验证表单上的所有控件,只要它们支持验证即可。请注意,任何将CausesValidation设置为False的控件都不会引发Validating事件,因此不会被ValidateChildren验证。

答案 1 :(得分:3)

您也可以使用任何祖先Validate的{​​{1}}或ValidateChildren,其中ContainerControl应该效果最佳。

请注意,ValidateForm