I like red exclamation marks from ErrorProvider, and I want to use it to show the user where the problem is. I also have a requirement that my Update button must be disabled if data in form is invalid. I disable/enable Update button on TextChanged events of all text boxes. ErrorProvider should be employed from Validating events of all text boxes.
Now the problem: when entering incorrect data in last text box Update button will still be disabled, but ErrorProvider will not be shown because user had not left the control. What can I do in this case? How to minimize confusion from User, who will surely ask “why is Update disabled, but no exclamation marks anywhere on window”?
You can validate the last textbox (or all) on the TextChanged event. In order to wait for the user entering something worth validating you can:
enabling validation on TextChanged, or