Allan,
you could also consider not being able to change protected properties from outside of a class as a disadvantage. In OOP this is considered a good thing. And so is encapsulation within a control class in that respect.
Not every group of controls/subobjects is making up a new control, therefor even if I'd make use of the control base class I wouldn't do for all groups o subobjects.
Being able to edit objects within a container as opposed to a control class may be a good thing. But thinking about the OOP principle of encapsulation you're thereby creating a dependancy between the container and the outside world. The container is not self contained and responsible for itself alone anymore.
Changing something with the container class alone, eg removing or renaming some inner object, you break the outside code that accesses this inner object. Or you need to change the container class AND some other class working with something inside the container.
That's the bad thing about the advantage of being able to edit the inner objects of containers. Why should any code outside of the container be able to change something inside the container? Shouldn't a container be slefcontained? If not, then why group something with it at all, you could then also put single objects directly on the form without a container around it.
You can have selfcontained and fine OOP code without using the control base class for this enforcement of encapsulation. You're tempted to do hacks if you can access the inner structure, you're just createing a bigger scope of encapsulation less maintainable and more monolithic.
But you can also play to the rules with a container object and you can use even more advanced design patterns like a mediator to handle the inside of containers. Using a control base class will not enable you to have a seperate mediator. The control itself would be the mediator, handling the inside/outside communication.
If you don't get me I suggest reading a bit about design patterns -
Especially about the mediator and the MVC (model,view,controller) architectural pattern -
Bye, Olaf.