I have a win forms 2.0 c# app that commits/processes text in a text box when it is entered by using the validated mechanism and handling the enter key. This works great when moving between controls as the focus changes which drives these events. However, if I have new data in an edit box without pressing 'enter' and I select a menu item like 'File/Save' no validation occurs when leaving the Textbox control as the focus is still on it so my data is not updated. The same situation occurs when I have a non-modal dialog and I switch in between the main app and the dialog. There is no focus change so the validation doesn't occur. The 'Leaving' event doesn't fire either.
How should this situation be handled? I see other apps that do this correctly. Is the solution the same for both the menu selection and form change and toolbar buttons?