I would like the validating to test before the other MDI form gets
focus. Per VB documentation, the event order is:
1) Enter (Activated for Forms)
2) Got Focus
3) Leave (Deactivated for Forms)
4) Validating
5) Validated
6) Lost Focus
so, if the validating is in Lost Focus, the other form gets displayed
before the not valid error message can be shown. I would like to keep
the user in the form that is being validated.
tomb wrote:
> I am guessing you mean when you switch from one child form to the
> other. Why don't you try validating in the OnLostFocus override event?
> Then you can regain focus.
>
> T
>
> (E-Mail Removed) wrote:
>
> >I am using VS .Net 2003 and VB. I have an app with one parent and two
> >Mdi child forms. I need to validate data in the Mdi form. The
> >Form.Validating event works when I try to close a Mdi form, but not
> >when I try to switch form one Mdi form to the other. I tried to add
> >code to MdiForm1's Deactivate event:
> >
> > Private Sub MidForm1_Deactivate(ByVal sender As Object, ByVal e As
> >System.EventArgs) Handles MyBase.Deactivate
> >
> > Dim TempE As System.ComponentModel.CancelEventArgs
> > TempE.Cancel = False
> > MdiForm1_Validating(sender, TempE)
> > If TempE.Cancel Then
> > MdiForm1_Activated(sender, e)
> > End If
> > End Sub
> >
> >but when MdiForm2 tries to load, the program crashes:
> >
> >An unhandled exception of type 'System.OutOfMemoryException' occurred
> >in system.windows.forms.dll
> >
> >Additional information: Error creating window handle.
> >
> >How can I keep the focus in MdiForm1 when the user wants to change
> >forms and the data in MdiForm1 is not valid?
> >
> >Thanks
> >Eric
> >
> >
> >