Добавление панелей в SplitContainer в Windows Forms

у меня возникли проблемы с поиском документации о том, как добавить панели в класса splitcontainer. Я могу создать SplitContainer отлично, но я не могу поместить панели, которые я закодировал внутри splitcontainer.

Я пробовал делать

sc.Container.Add(myPanel);
sc.Container.Add(myOtherPanel);

но Container всегда равно null. Кто-нибудь знает что я делаю неправильно?

2 ответов


на SplitContainer всегда содержит две панели, и вы не можете это изменить! (И вам не нужно добавлять какие-либо панели самостоятельно.)

вы можете получить доступ к двум панелям через свойства Panel1 и Panel2.

Если вам нужно больше панелей, вы можете, однако, вложить несколько SplitContainers.


обновление

вы не можете заменить существующие панели. Что вы можете сделать, это разместить свои собственные элементы управления на существующих разделенных панелях контейнеров (и ваши элементы управления также могут быть системой.Окна.Формы.Панели, содержащие другие элементы управления или пользовательские элементы управления):

sc.Panel1.Controls.Add(myPanel);
sc.Panel2.Controls.Add(myOtherPanel);

myPanel.Dock = DockStyle.Fill;
myOtherPanel.Dock = DockStyle.Fill;

конечно, вы можете добавить их с помощью конструктора форм Visual Studio, Если у вас нет сценария, в котором вам нужно динамически добавлять элементы управления. Если вы создадите свои собственные элементы управления, они автоматически появятся в панели инструментов внутри того же проекта, и вы можете просто перетащить их на панели SplitContainer.


элемент управления SplitContainer уже имеет две панели с именами Panel1 и Panel2. Выберите Панель, которую вы хотите использовать:

sc.Panel1.Controls.Add(myPanel);
sc.Panel2.Controls.Add(myOtherPanel);