Cannnot resize Child Controls in a FlowLayoutPanel Control

不问归期 提交于 2020-01-14 08:52:11

问题


Description I was trying to create a FlowLayoutPanel that can be extended, for instance in the horizontal way.

FlowLayoutPanel and its sub component anchor has been set to Top-Left-Right

FlowLayoutPanel direction has been set to TopDown.

-> When rezising the FlowLayoutPanel, its sub- components are not resized accordinally.

Step to reproduce

  1. Create a FlowLayoutPanel control on your form.

  2. Set the FlowDirection of the FlowLayoutPanel to TopDown.

  3. Create a Button controls, and place it in the FlowLayoutPanel control.

  4. Select the Button and the FlowLayoutPanel and set their Anchor to Top-Left-Right

  5. Try to Extend FlowLayoutPanel on the horizontal way.

-> FlowLayoutPanel is resized but not the Button


回答1:


The FlowLayoutPanel is only meant to layout it's child controls in a dynamic way. This does not mean that they will automatically resize within the FlowLayoutPanel. I'm guessing that the FlowLayoutPanel ignores the Anchor properties of it's child controls.

To achieve this effect you'll need to manually resize your child controls on the FlowLayoutPanel's SizeChanged event.

At this point though, you may want to reconsider whether the FlowLayoutPanel is really what you want to be using. If you know that you always want a button to fill the width of the FlowLayoutPanel, you might as well stick it in a Panel and use the anchors, or set it's Dock property.




回答2:


FlowLayoutPanel control calculates the width of an implied column from the widest child control in the column. All other controls in this column with Anchor or Dock properties are aligned or stretched to fit this implied column. The behavior works in a similar way for horizontal flow directions. The FlowLayoutPanel control calculates the height of an implied row from the tallest child control in the row, and all docked or anchored child controls in this row are aligned or sized to fit the implied row.

check msdn documentation here http://msdn.microsoft.com/en-us/library/ms171633.aspx



来源:https://stackoverflow.com/questions/1844145/cannnot-resize-child-controls-in-a-flowlayoutpanel-control

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!