Dynamiczne tworzenie pictureboxów we własnej kontrolce

0

Chce stworzyć swoją własną kontrolkę, która będzie zawierać wiele PictureBoxów. Pictureboxy są dodawane automatycznie w konstruktorze kontrolki, jednak nie wyświetlają się na ekranie. Wyświetlana jest kontrolka i pictureboxy pojawiaja się dopiero gdy ją przesuwam w oknie designera, gdy nikt jej nie rusza stają się niewidoczne.

Fragment kodu konstruktora.

 
            pictureBoxArray = new PictureBox[28];

            for (int i = 0; i < colorArray.Length; i += 2)
            {
                pictureBoxArray[i] = new PictureBox();
                pictureBoxArray[i].BackColor = colorArray[i];
                pictureBoxArray[i].Size = controlSize;
                pictureBoxArray[i].Location = new Point(upperLine.X + (controlSize.Width + separateSpace) * i, upperLine.Y);
                pictureBoxArray[i].Name = "PictureBox" + i;
                pictureBoxArray[i].BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;

                pictureBoxArray[i + 1] = new PictureBox();
                pictureBoxArray[i + 1].BackColor = colorArray[i + 1];
                pictureBoxArray[i + 1].Size = controlSize;
                pictureBoxArray[i + 1].Location = new Point(lowerLine.X + (controlSize.Width + separateSpace) * i, lowerLine.Y);
                pictureBoxArray[i + 1].Name = "PictureBox" + i + 1;
                pictureBoxArray[i + 1].BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
            }
            this.Controls.AddRange(pictureBoxArray);

Pola klasy.

   	protected Color[] colorArray;
        protected PictureBox[] pictureBoxArray;
        Size controlSize;
        Point upperLine;
        Point lowerLine;
        int separateSpace;
 

tablica colorArray jest poprawnie zadeklarowana jednak nie kopiowałem jej zawartości.

Można w ten sposób dynamicznie tworzyć kontrolki? C# przechowuje te obiekty na stercie więc nie wiadomo za bardzo co się z nimi dzieje. Nie znam się na WPF ale z tego co widziałem to kod pisze się tam z "ręki" a nie metodą drag and drop więc pewnie pozwala na coś takiego. Można łączyć WPF z windows forms i czy WPF faktycznie pozwala na generowanie kontrolek na stałe.

0

Można w ten sposób dynamicznie tworzyć kontrolki?
Można.

C# przechowuje te obiekty na stercie więc nie wiadomo za bardzo co się z nimi dzieje.
A co ma się dziać? Nic się z nimi złego nie dzieje...

1 użytkowników online, w tym zalogowanych: 0, gości: 1