Вставить Usercontrol в FlowLayoutPanel - программирование
Подтвердить что ты не робот

Вставить Usercontrol в FlowLayoutPanel

У меня есть FlowLayoutPanel и несколько UserControl s. Теперь я хочу, чтобы один элемент управления всегда находился в нижней части моего FlowLayoutPanel. Поэтому я хочу добавить свой UserControl чуть выше самого нижнего элемента управления. Есть ли простой способ вставить элементы управления пользователя в FlowLayoutPanel?

В настоящее время я думаю об удалении элемента управления внизу и добавлении элемента управления, который я хочу добавить, и добавить нижний элемент управления еще раз. Но я не думаю, что это действительно лучший способ. Есть ли здесь кто-нибудь, кто мог бы помочь мне с некоторой информацией о том, как это сделать?

4b9b3361

Ответ 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 для элементов, в которых вам нужен поток, а затем установите эту панель внутри другой панели, на которой также размещена ваша нижняя панель.