开发者

How to force a control to validate itself?

I've a winforms with some controls and an ErrorProvider. The control's Validating events are used to validate the data and report the error to the ErrorProvider if there is any. This work great when the user enter wrong infor开发者_StackOverflowmations into the control and leaves the control.

However, the validation does not happen if the user click on on without entering any data. Is there any way to force the validation of all controls when the user click on OK? And in the case where some validation failed, how would I know and cancel the OK event?


You can use Form.ValidateChildren to force the validation of all the controls on the form, as long as they support validation. Note that any control with CausesValidation set to False will not raise a Validating event and will therefore not be validated by ValidateChildren.


You may also use Validate or ValidateChildren of any ancestor ContainerControl, where Validate should perform best.

Note that Form is a ContainerControl.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜