2009-11-18 62 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