2015-06-04 1 views
-1

У меня есть панель (назовите ее main_box), и я добавлю еще 20 панелей внутри нее. Каждая из дочерних панелей размещается прямо под надписью над ней. Когда я изменяю размер формы, дочерние панели меняют размер (как я их хочу), но они не перестраиваются внутри родительского поля, поэтому мне нужно сделать это вручную.Как я могу контролировать порядок дочерних элементов управления при добавлении в родительский элемент управления?

Я пытаюсь:

Dim vert_pos as integer = 0 
For Each o As Object In main_box.Controls 
    o.location = New Point(0, vert_pos) 
    vert_pos += o.height 
Next 

но ребенок коробки получить расположены в порядке. Они не отображаются в том же порядке, что я добавил их в родительский блок.

Как я могу гарантировать, что они будут перемещены в порядке?

+0

Можно ли считать, что «main_box» - панель автопрокрутки? – Plutonix

+2

Как насчет 'FlowLayoutPanel'? – OneFineDay

+0

Да, это панель автопрокрутки – user2721815

ответ

-1

В результате я создал массив; и каждый раз, когда я добавлял дочернюю панель в main_box, я также добавлял ее в массив. Затем я просто перебираю массив, а не main_box.controls, и порядок остается верным.

+0

Почему хит и победа? Что не так с этим решением? Он работает отлично. Тебе не нравится, когда я нахожу ответ самостоятельно? – user2721815

 Смежные вопросы

  • Нет связанных вопросов^_^