ToolWindows disappear from the designer when hosting the DockManager in a derived UserControl. This is necessary (per the documentation) because I use the ToolStripContainer on my main form. This occurs when the main form's designer is visible while the solution is built. The designer code seems unaffected, as the ToolWindows reappear if the designer is closed and re-opened. I should add that I try not to do this in any case, particularly when a form is very busy. I'm sure we've all been bitten in the past. Occasionally I forget. So far, no harm done.
But I am concerned that my designer (generated) code might some day blow up. Yes it's in source code control, and I even keep static copies. I'm not overly concerned about it, but I'd be much obliged if you could comment on it.
Of somewhat more interest is my thought that it'd be nice if I could inherit from ToolWindow (I have), decorate it with a few controls such as a ToolStrip and a TreeView. 75% of my ToolWindows look like this. I'm wondering if I can use inherited ToolWindows, rather than adding them via the DockManager and decorating them in the main form designer. I believe it can be done, but I'm not sure how to introduce these objects to the DockManager. Is it possible to use only inherited (and fully decorated) ToolWindows without programmatically managing docking? I certainly don't want to reinvent your wheel.
But I'd very much like to keep as much clutter as possible out of the main form. In addition, I'd like to use inheritance to make my ToolWindow life a little easier.