65.9K
CodeProject is changing. Read more.
Home

FlowLayoutPanel & TableLayoutPanel controls (Visual Studio 2005)

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.17/5 (47 votes)

Nov 22, 2004

2 min read

viewsIcon

232687

Visual Studio 2005 introduces the concept of Layout designing. Two new controls have been added to support this, the FlowLayoutPanel and TableLayoutPanel. This article describes these two new cool features of the new version of the Visual Studio .Net 2005.

Introduction

There are two interesting components which I noticed in the Windows Forms Toolbox (Visual Studio 2005), which I would like to point out here.

  1. FlowLayoutPanel
  2. TableLayoutPanel

This is apart from the regular 'Panel' control that is included with the previous versions also.

Screenshot of the Layout controls in toolbox

 

Both of these controls give tremendous control and ease in placing the controls properly and in an orderly fashion on the form.

FlowLayoutPanel

In the FlowLayoutPanel, whatever controls that you place in the panel, will rearrange itself to right of the previous control, in a flowing model. If the right side of the previous control does not have enough space, it would wrap itself to the next available space at the bottom.

I found this to be very useful while placing many triplets of label->textbox->button controls one below the other and close to each other.

See a screehshot to get a feel of it in action.

 Screenshot of FlowLayoutPanel in action


You can also decide on the direction in which the controls will flow. For this you have to set the property 'FlowDirection'.

It takes 4 enum values viz.

1. LeftToRight
2. TopDown
3. RightToLeft
4. BottomUp

The automatic wrapping functionality as I explained earlier also can be set by a property called 'WrapContents'. This is boolean field. Default is set to true.

TableLayoutPanel

In TableLayoutPanel, the arrangement is in a tabular format as the name itself suggests. When you add a control to a cell of the table, it would reposition itself to the center of the cell.  One cell of the table will take only one control. You can add as many rows/columns to the layout.

This is extremely useful while placing multitudes of controls on a form in a correct and orderly fashion. This avoids the main headache while designing a form when it comes to inserting some controls in between the existing controls and you have to sit and re-align all the remaining controls that got affected.

Screenshot of TableLayoutPanel in action

 

You can manually set the columns and rows the panel should hold by setting the 'ColumnCount' and 'RowCount' properties respectively.

The context menu also supports adding and removing columns and rows.

Context menu for the TableLayoutPanel  

 

Conclusion

The Layout feature in the latest Visual Studio 2005 is an excellent addition which gives very good control on how the controls are placed on the form and Microsoft has done a tremendous job in bringing it to the design time.