23 Mar 2010

.NET FlowLayoutPanel Large Vertical Gaps (unwanted)

Ran into this issue and found a post to fix it thanks to LewisG (as this was doing my head in).


http://www.windows-tech.info/3/c9cb6b44b9529869.php


When two controls that would fit width-wise are added to a Flowlayoutpanel, and the first one has FlowBreak = true, the FlowLayoutPanel inserts a significant amount of unwanted vertical blank space between the controls.
Even in design time it can be reproduced. Steps are:
- Create a new form
- Add a flow layout panel
- Add a label
- Add a button
- Set flowbreak=true on the label
- Resize the button width-wise. It jumps up and down, the unwanted blank space appears and dissappears, depending on whether it is large enough to fit alongside the label or not.
I'm really surprised noone has made a reference to this bug in msdn forums, or any of the usual search engines.
We have an application that creates controls dynamically, and the client is hammering us with this bug. Help is appreciated.


Re: Windows Forms General Flowlayoutpanel flowbreak bug. It creates unwanted empty space

LewisG 

I realize this issue is pretty old, but I ran into this bug myself and I figured out a workaround I thought might be useful to someone else.
The vertical size of the gap seems to be the same as the height of the control that follows after the flow break. So, I just add a panel of Size(0,0) with no margins after the flow break. That gets rid of the gap.

No comments:

Post a Comment