views:

1075

answers:

2

I have a form that is dynamically created. It is a winForms application.

This form is just a menu and a series of textboxes and labels. For the sake of this example, you can ignore the labels.

My problem is: When I edit stuff in the textboxes, then click the menu to issue "Save", the text from the last text box still hasn't issued its "Validating" method. This appears to be because the control still has focus, and that the menu is in a separate thread.

How can I force the validating events to fire when the user clicks "save"? I don't know which text box the user is on (if any), and issuing SomeKnownControl.Focus(); within the "save" function doesn't seem to help.

+12  A: 

I've had this before. In your form:

private void SaveButtonClick(...)
{
    if (this.ValidateChildren())
    {
        // do save
    }
}

ValidateChildren on MSDN

geofftnz
That was it!!!! Thank you!!
Jerry
Not a problem... It stumped me for a while too.
geofftnz
A: 

Still Have the Problem and Not Getting the Why Still Save Event Fires......

Sameep