Ricardo,
To add to Alex's reply
> and a client who wants to use the services of this class, must call oRefToMyform.btnDo.Click().
This sort of code is bad OOP. The outside world should not be calling into a method of a contained object of the form, because it breaks the encapsulation of the form.
Technically your form is the UI layer too. If your form class has an Accept() method, then the button on the form, and the toolbar can both make calls to the method. Your actual implementation of the Accept method might be something like:
thisform.oBusinessRules.Accept(...)
which actually delegates this off to be handled by a true BR layer. But the form button and the toolbar won't know what is really doing the work they want done.