>You can create a property in your form that keeps the name of the last object who lost the focus.
>For each control in the lostfocus event save the name of this control
>
That doesn't address the issue - you need to know what will get focus if the Valid gets fired; you haven't LostFocus to change the value or GotFocus on the next control.