User controls would essentially be the "best of both worlds". You would create 20 different user controls that represent the different screens you want displayed based on the selected tree node. The benefit here is that you can use the designers and don't have multiple panels stacked on top of each other. In the right-hand side of the splitter, you would place one panel that will be used to dynamically hold your user controls. In the AfterSelect event handler of the tree control you will need to do something like this (this is untested code, so it may not be exact):
UserControl userControl;
userControl.Dock = DockStyle.Fill;
userControl.Name = "contentarea";
this.contentPanel.Controls.Add(userControl);
----------------------------- In just two days, tomorrow will be yesterday.