In C# WinForms I’d like to make a UserControl that mimics the look of a ToolWindow — sizable, with room for a caption and a close button at the top right. This seems possible through overriding CreateParams(), using the relevant constants from WinUser.h, and adding custom handlers for the appropriate mouse events, but it seems like a lot of trouble for something that simple. Before I go to it, is there an easier way?
Share
Really rather the easiest way is to just use a Form with FormBorderStyle = SizeableToolWindow. That’s what it was made for. Display it with the Show(owner) overload so it is always on top of your main window. If you want to salvage the UserControl then just Dock = Fill in the form. Albeit that exposing its properties get harder to do cleanly.
Check out Weifenluo’s DockPanel Suite for a windowing model that resembles Visual Studio’s.