As we saw in the previous chapter, the framework can modify a control’s position and size automatically. We looked at the docking and anchoring facilities, but Windows Forms provides support for other styles of layout. The simplest of these is a fixed layout in a scrollable window. Splitter support is also built in. In this section, we will look at all these styles of layout, and then examine the mechanism in the framework that underpins them all. It is possible to extend the layout facilities to provide your own automatic layout strategies. We will look at the standard events that support this, and then see a simple example custom layout engine.
Forms provides a facility for enabling the contents of a control to
exceed the control’s size on screen, and for
scrollbars to be added automatically to enable the user to access all
of it. This functionality is provided by the
class. This is the base class of
Panel, which means that this behavior is
available to all forms, panels, and user controls.
To enable automatic scrolling management, simply set the
AutoScroll property to
true. If the window is smaller than its contents,
scrollbars will be added automatically. Of course, the class will
need some way of knowing how large the window’s
contents are. By default, it will deduce this from its child
controls—it will assume that the window’s size
should be exactly large enough to hold all the controls.
Because automatic ...