Вставить Usercontrol в FlowLayoutPanel
У меня есть FlowLayoutPanel
и несколько UserControl
s. Теперь я хочу, чтобы один элемент управления всегда находился в нижней части моего FlowLayoutPanel
. Поэтому я хочу добавить свой UserControl чуть выше самого нижнего элемента управления. Есть ли простой способ вставить элементы управления пользователя в FlowLayoutPanel
?
В настоящее время я думаю об удалении элемента управления внизу и добавлении элемента управления, который я хочу добавить, и добавить нижний элемент управления еще раз. Но я не думаю, что это действительно лучший способ. Есть ли здесь кто-нибудь, кто мог бы помочь мне с некоторой информацией о том, как это сделать?
Ответы
Ответ 1
Да, вы можете установить Index
для Control
OR User-Control
в 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);
Таким образом, ваш ctrl1 будет внизу, хотя он был добавлен сначала в ваш Flow-Layout Panel
.
Если у вас больше Control
s, и вы изменяете их видимость в разных событиях, тогда вам нужно будет устанавливать Index
для каждого Control
каждый раз.
Я предлагаю разместить Control
в Panel
и добавить Panel
в Flow-Layout Panel
.
Ответ 2
Это не имеет никакого отношения к WinForms/WPF.
Вы пытаетесь использовать панель для плавного макета для чего-то, что явно не предназначено для использования потока.
Вы должны соответствующим образом изменить свои макеты. Попробуйте использовать flowlayout для элементов, в которых вам нужен поток, а затем установите эту панель внутри другой панели, на которой также размещена ваша нижняя панель.