Layout
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.
Scrolling
Windows
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
ScrollableControl
class. This is the base class of ContainerControl
and 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access