I have a use case that deals with Invoicing. I have 3 forms along with a
controller class that deals with this use case. The main form of the
application contains a User Control called InvoiceList that displays a list
of invoices in a grid. The user has the option of either adding a new
invoice, editing an existing invoice or deleting an invoice. If the user
chooses to add or edit an invoice, an invoice form is displayed. The
invoice form displays a particular invoice along with the detail lines. If
the user chooses to add or edit a detail line, a detail form is displayed
for that purpose.

I want all 3 forms to use the same controller class InvoiceController.

What is the best way to create the controller and make it available to all 3
forms? Who should create the controller? Should the view or should the
controller create the view? etc. etc.

Bill