insert Usercontrol in FlowLayoutPanel

2Pietjuh2 picture 2Pietjuh2 · Nov 7, 2012 · Viewed 11k times · Source

I have a FlowLayoutPanel and several UserControls. Now I want one controll to be always at the bottom of my FlowLayoutPanel. So I want to add my UserControl just above the lowest controll. Is there an easy way to insert user controls in a FlowLayoutPanel?

I'm currently thinking about removing the control at the bottom, and adding the control I want to add and add the bottom control again. But this I do not think this is really the best way. Is there anyone here who could help me with some information on how to do this ?

Answer

Devraj Gadhavi picture Devraj Gadhavi · Nov 7, 2012

Yes, you can set the Index of a Control OR User-Control in Flow-Layout Panel.

//flPanel is your flow-layout panel...
flPanel.Contorls.Add(ctrl1); //ctrl1 can be any control or user control
flPanel.Contorls.Add(ctrl2); //ctrl2 can be any control or user control
flPanel.Controls.SetChildIndex(ctrl1, flPanel.Controls.GetChildIndex(ctrl2) + 1);

This way, your ctrl1 would be at bottom though it was added first into your Flow-Layout Panel.

If you have more Controls, and you are toggling their visibility in different events, then you will have to set Index for each Control every time.

I suggest to place your Control in Panel and add Panel in your Flow-Layout Panel.