Articles in this section
Category / Section

How to add a layout component to a form in WinForms GridBagLayout?

2 mins read

Add layout component to a form

Using the designer:

Just drag-and-drop the appropriate layout manager component onto your form. You can optionally drop the component on the container that you want to layout and the design-time will automatically set the ContainerControl property in the layout manager.

You can then configure the layout manager by changing its properties via the designer’s property grid. The layout manager will also provide some extended properties on the child controls that you can set via the control’s property grid.

Using Code:

This example shows how to initialize a GridBagLayout programmatically. Take a look at the class reference for the other layout managers, for example, the code on how to initialize them programmatically.

C#

// Binding a Control to the GridBagLayout manager programaitcally
this.gridBagLayout1 = new GridBagLayout();
// Set the container control; Doing this will automatically register all the child controls of this container control with the manager.
this.gridBagLayout1.ContainerControl = this.panel1;
this.gridBagLayout1.SetConstraints(this.button1,  new GridBagConstraints(0, 0, 3, 1, 1, 0.2, AnchorTypes.Center, FillType.Both, new Insets(0, 0, 0, 0), 0, 0, false));
this.gridBagLayout1.SetConstraints(this.button2,  new GridBagConstraints(0, 1, 1, 3, 0.2, 0.6, AnchorTypes.Center, FillType.Both, new Insets(0, 0, 0, 0), 0, 0, false));
// Exclude button3 from layout
this.gridBagLayout1.SetConstraints(this.button3, GridBagConstraints.Empty);
// Modify an exisiting constraint.
GridBagConstraints constraints1 = this.gridBagLayout1.GetConstraintsRef(this.button1);
constraints1.Fill = FillType.Horizontal;

VB

' Binding a Control to the GridBagLayout manager programaitcally
Me.gridBagLayout1 = New GridBagLayout()
' Set the container control; Doing this will automatically register all the child controls of this container control with the manager.
Me.gridBagLayout1.ContainerControl = Me.panel1
Me.gridBagLayout1.SetConstraints(Me.button1,  GridBagConstraints(0,0,3,1,1,0.2,AnchorTypes.Center,FillType.Both,New Insets(0,0,0,0),0,0,False))
Me.gridBagLayout1.SetConstraints(Me.button2,  GridBagConstraints(0,1,1,3,0.2,0.6,AnchorTypes.Center,FillType.Both,New Insets(0,0,0,0),0,0,False))
' Exclude button3 from layout
Me.gridBagLayout1.SetConstraints(Me.button3, GridBagConstraints.Empty)
' Modify an exisiting constraint.
Dim constraints1 As GridBagConstraints = Me.gridBagLayout1.GetConstraintsRef(Me.button1)
constraints1.Fill = FillType.Horizontal

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied