Вот мой код:
public MainForm()
{
InitializeComponent();
MyServiceSettings obj = (MyServiceSettings)ConfigurationManager.GetSection("MyServiceSettings");
foreach (MyServiceConfigElement service in obj.Services)
CreateServiceControl(service);
}
private void CreateServiceControl(MyServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
tabControl1.TabPages.Insert(0, tp);
//tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
В двух словах, он читает раздел в файле конфигурации и создает вкладку для каждого элемента в разделе.
У меня уже есть один статический TabPage, созданный во время разработки. Я хочу, чтобы динамически созданные вкладки были вставлены перед этой статической вкладкой.
При запуске этого кода tabcontrol показывает только статическую вкладку.
Если я сделаю это изменение:
private void CreateServiceControl(SoftInfoServiceConfigElement service)
{
TabPage tp = new TabPage(service.Name);
//tabControl1.TabPages.Insert(1, tp);
tabControl1.TabPages.Add(tp);
tabControl1.Refresh();
}
При использовании метода Add отображаются все страницы. Но я не получаю заказ, который хочу.
Есть что-то, чего я не понимаю с помощью метода вставки? Почему это не работает?