In many dialogs and forms I use internal panels, which simply layouts controls
in one direction - vertical or horizontal. The most common example - OK, Cancel, Help
buttons at the bottom (or at the right side) of a dialog. So I need an easy way to create
such internal panel with vertical or horizontal layout.
FlowPanel class extends
UserControl functionality by providing
custom layout implementation. This implementation layouts contained controls
horizontally (direction must be predefined) into equal cells. Layout implementation takes into
Dock styles (stretches controls in their cells according to these values).
Using the code
FlowPanel can be created with one line of code - constructor accepts panel name,
layout direction, space size between controls, optional controls. Below is the example of
horizontal panel with three buttons.
Button ok, cancel, help;
FlowPanel flow = new FlowPanel(
When panel size is too small to fit all controls, layout implementation produces
undetermined output. Maybe some kind of control shrinking could be applied in this case.