C# array of tabControls, creating new tabs by template

08/12/2014 12:09 Buckyx#1
EDIT: I found a way to do that, anyone willing to check my code If it can be better or contains any mistakes


[Only registered and activated users can see links. Click Here To Register...]

Code:
for (int i = 0; i < l_Controller.Player.VillageCount; i++)
            {              
                m_pageVillage.Add(new TabPage(l_Controller.Player.Villages[i].Name + " (" + l_Controller.Player.Villages[i].X.ToString() + "|" + l_Controller.Player.Villages[i].Y.ToString() + ")"));
                l_BuildingTab.TabPages.Add(m_pageVillage[i]);

                m_Build.Add(new TabControl());
                m_pageVillage[i].Controls.Add(m_Build[i]);
                m_Build[i].Size = new Size(500, 250);

                m_pageRes.Add(new TabPage("Resources"));
                m_pageBul.Add(new TabPage("Buildings"));

                m_Build[i].TabPages.Add(m_pageRes[i]);
                pageRes[i].Padding = new System.Windows.Forms.Padding(3);
                m_Build[i].TabPages.Add(m_pageBul[i]);
                pageBul[i].Padding = new System.Windows.Forms.Padding(3);

                pageBul[i].UseVisualStyleBackColor = true;
                pageRes[i].UseVisualStyleBackColor = true;

                x = 0;
                y = 0;

                for (int j = 0; j < 18; j++)
                {
                    m_Res.Add(new Label());
                    m_pageRes[i].Controls.Add(m_Res[i * 18 + j]);

                    if (j % 3 == 0)
                    {
                        x = 0;
                        y = y + 20;
                    }
                    else
                        x = x + 100;

                    m_Res[i * 18 + j].Location = new Point(x, y);
                }
            }