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

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

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

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

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

Ответ 1

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

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

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


UPDATE

Вы не можете заменить существующие панели. Что вы можете сделать, это разместить свои собственные элементы управления на существующих панелях сплит-контейнеров (а ваши элементы управления также могут быть System.Windows.Forms.Panels, содержащие другие элементы управления или пользовательские элементы управления):

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

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

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

Ответ 2

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

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