Control.Layout Event

Occurs when a control should reposition its child controls.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

Public Event Layout As LayoutEventHandler
Dim instance As Control
Dim handler As LayoutEventHandler

AddHandler instance.Layout, handler

/** @event */
public void add_Layout (LayoutEventHandler value)

/** @event */
public void remove_Layout (LayoutEventHandler value)

JScript supports the use of events, but not the declaration of new ones.

The Layout event occurs when child controls are added or removed, when the bounds of the control changes, and when other changes occur that can affect the layout of the control. The layout event can be suppressed using the SuspendLayout and ResumeLayout methods. Suspending layout enables you to perform multiple actions on a control without having to perform a layout for each change. For example, if you resize and move a control, each operation would raise a Layout event.

For more information about handling events, see Consuming Events.

The following code example centers a Form on the screen in the Layout event. This will keep the form centered as the user resizes it. This example requires that you have created a Form control.

Private Sub MyForm_Layout(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.LayoutEventArgs) Handles MyBase.Layout

    ' Center the Form on the user's screen everytime it requires a Layout.
    Me.SetBounds((System.Windows.Forms.Screen.GetBounds(Me).Width / 2) - (Me.Width / 2), _
        (System.Windows.Forms.Screen.GetBounds(Me).Height / 2) - (Me.Height / 2), _
        Me.Width, Me.Height, System.Windows.Forms.BoundsSpecified.Location)
End Sub

private void MyForm_Layout(Object sender, 
    System.Windows.Forms.LayoutEventArgs e)
    // Center the Form on the user's screen everytime it requires a Layout.
        / 2 - this.get_Width() / 2, Screen.GetBounds(this).get_Height() 
        / 2 - this.get_Height() / 2, this.get_Width(), this.get_Height(), 
} //MyForm_Layout

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions