关于c#:在FlowLayoutPanel中插入用户控件

insert Usercontrol in FlowLayoutPanel

我有一个FlowLayoutPanel和几个UserControl。 现在,我希望一个控件始终位于FlowLayoutPanel的底部。 所以我想在最低的控件上方添加我的UserControl。 有没有简单的方法可以在FlowLayoutPanel中插入用户控件?

我目前正在考虑删除底部的控件,并添加我要添加的控件,然后再次添加底部的控件。 但是,我认为这并不是最好的方法。 这里有人可以帮助我提供一些有关如何执行此操作的信息吗?


是的,您可以在Flow-Layout Panel中设置ControlUser-ControlIndex

1
2
3
4
//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);

这样,尽管您的ctrl1首先添加到了Flow-Layout Panel中,但它位于底部。

如果您有更多Control,并且要在不同事件中切换它们的可见性,则每次都必须为每个Control设置Index

我建议将您的Control放在Panel中,并在Flow-Layout Panel中添加Panel


这与WinForms / WPF无关。
您正在尝试使用面板来进行布局,以进行显然不打算使用流程的布局。

您应该相应地更改布局面板。 尝试在需要流动的项目上使用流布局,然后将该面板放入另一个也承载着底部面板的面板中。