2009-05-01 2 views
1

Мне нужно установить несколько элементов управления, используя раздельные контейнеры, чтобы один сплит-контейнер был вложен внутри другого. Я считаю, что каждый экземпляр класса SplitContainer сам по себе является Control и поставляется с двумя экземплярами SplitterPanel, который также является элементом управления.Сплит-контейнеры без слишком большого количества HWND

Например, на следующей иллюстрации, я организации только 3 из моих элементов управления (HWNDs 8, 9 и 5) с использованием 2 SplitContainer экземпляров, но в конечном итоге с огромным количеством дополнительных HWNDs в результате использования SplitContainer.

Split Container http://agnel.kurian.googlepages.com/splitcontainer.PNG

В дополнение к этому, дочерние элементы управления должны использовать Parent.Parent.Parent... объявление тошноты для того, чтобы достичь своей родительской формы (да, я могу использовать FindForm вместо этого). Есть лучший способ сделать это?

Edit: Разделитель должен быть изменяемыми

ответ

1

Вы можете использовать TableLayoutPanel где вы даете нижний контроль ColumnSpan двух.

Вы можете сделать это в коде с

this.tableLayoutPanel.SetColumnSpan(this.button1, 2); 

Или используйте окно свойств в конструкторе.

+0

Я забыл упомянуть, что сплиттер также должен быть изменен. –