Gerard,
I would do the checking in the Click event. Why? Because I could be the user simply tabbing to some other control on the fomr and happen to pass through the button. Your current design would stop me in my tracks, using the click the checking won't happen unless I try to fire the click event.