 <p>You can add panels to a form at runtime the same way the designer does - construct the Panel, and add it to the form (via <code>this.Controls.Add(thePanel);</code>).</p> <p>The easiest way to see the appropriate code is to add a panel to the form using the designer, then open up the "YourForm.designer.cs" file. The designer just generates the required code for you - but you can see the exact code required to duplicate what the designer would create.</p> <p>As for the layout, I'd recommend watching the <a href="http://windowsclient.net/learn/video.aspx?v=324332" rel="nofollow">Layout Techniques for Windows Forms Developers</a> video. It may give you some good clues as to the various options available for layout. There is nothing exactly like Java's GridLayout, though there are some <a href="http://sourceforge.net/projects/dnetgridlayout/" rel="nofollow">open source projects that attempt to duplicate this functionality</a>.</p>