)
We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: June 24, 2019).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to avoid the layoutmanagers leave blank space at the top of the WinForms FlowLayout control?

Platform: WinForms |
Control: FlowLayout |
Published Date: February 10, 2020 |
Last Revised Date: February 10, 2020

Handle Resize event

By default, the layout managers layout controls within the client rectangle, but when scrollbars are turned on in the container control, you need to make the layout mangers layout within the DisplayRectangle of the container control, so you have to do this additional step:

C#

// Listen to the container control’s Resize event.
private void panel1_Resize(object sender, System.EventArgs e)
{
   // By default, the layout bounds are the container’s ClientRectangle,
   // but here we will use the display rectangle:
   this.flowLayout1.CustomLayoutBounds = this.panel1.DisplayRectangle;
}
// If your container control will dynamically add/remove child controls, then also listen to this event in the layout manager:
private void flowLayout1_ProvideLayoutInformation(object sender, Syncfusion.Windows.Forms.Tools.ProvideLayoutInformationEventArgs e)
{
   this.flowLayout1.CustomLayoutBounds = this.panel1.DisplayRectangle;
}

VB

' Listen to the container control’s Resize event.
Private Sub panel1_Resize(ByVal sender As Object, ByVal e As System.EventArgs)
   'By default, the layout bounds are the container’s ClientRectangle,
   ’ but here we will use the display rectangle:
   Me.flowLayout1.CustomLayoutBounds = Me.panel1.DisplayRectangle
End Sub
' If your container control will dynamically add/remove child controls, then also listen to this event in the layout manager:
Private Sub flowLayout1_ProvideLayoutInformation(ByVal sender As Object, ByVal e As Syncfusion.Windows.Forms.Tools.ProvideLayoutInformationEventArgs)
   Me.flowLayout1.CustomLayoutBounds = Me.panel1.DisplayRectangle
End Sub

The layout that happens after this Resize event will use the Display rectangle instead.

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon