Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Visual studio - TabControl.TabPages.Insert not working

Tags:

Here's my code:

    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();         } 

In a nutshell, it reads a section in a config file and creates a tab for each element in the section.

I already have one static TabPage created at design time. I want the dynamic created tabs to be inserted before this static tab.

Running this code, the tabcontrol shows only the static tabpage.

If I do this change:

        private void CreateServiceControl(SoftInfoServiceConfigElement service)     {         TabPage tp = new TabPage(service.Name);         //tabControl1.TabPages.Insert(1, tp);         tabControl1.TabPages.Add(tp);         tabControl1.Refresh();     } 

Using the Add method shows all the pages. But I do not get the order I want.

Is there something I don't understand with the Insert method? Why is it'n working?

like image 820
vIceBerg Avatar asked Oct 07 '09 15:10

vIceBerg


1 Answers

There is a comment on social.msdn - although I could not find anything like this in the documentation:

The TabControl's handle must be created for the Insert method to work

Try the mentioned code

IntPtr h = this.tabControl1.Handle; 

before you loop over your services

like image 51
tanascius Avatar answered Nov 20 '22 20:11

tanascius