Domanda

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 ?

È stato utile?

Soluzione

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.

Altri suggerimenti

This has nothing to do with WinForms/WPF. You are trying to use a panel for flowing layout for something that is clearly not meant to use flow.

You should change your layoutpanels accordingly. Try using a flowlayout on the items where you need the flow, then putting that panel inside another panel which also host your bottom panel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top