2009-11-18 76 views
7

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

但是,如果用户点击而不输入任何数据,验证不会发生。当用户点击OK时,是否有强制验证所有控件的方法?而在一些验证失败的情况下,我将如何知道并取消OK事件?

回答

14

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

+11

如何验证单个组合框? Form.ValidateChildren在带有大量可导致验证的控件的表单上使用时会造成效率问题。 – Rob 2010-02-18 21:53:39

3

您也可以使用任何祖先ContainerControlValidateValidateChildren,其中Validate应该表现最好。

请注意,FormContainerControl