문제

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 ?

도움이 되었습니까?

해결책

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.

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top