Any user control (compound, not inherited) in winforms can be docked because it is really just a panel at the bottom. Combine this with the tablelayout panel for a high-level layout of your form, and you have all the parts. But you still have to implement all the glue and maintain the user interface yourself.
source share