ovalShape - tworzenie i wykorzystanie.

0

Witam, chciałbym stworzyć poprzez pętle znaczną ilość kontrolek 'ovalShape', następnie po nazwie program odpowiada którą wybrałem. Niestety nigdy nie miałem z tym do czynienia i prosiłbym o pomoc.

Próbowałem już kilku sposobów. Jeden z ostatnich:

             OvalShape os = new OvalShape();
            ShapeContainer sc = new ShapeContainer();
            
            sc.Parent = this;
            os.Parent = sc;
            os.Name = "ha";

            rectangleShape1.Parent.Shapes.Add(os);
            os.Location = new Point(30, 100);
            os.Size = new Size(17, 17);

Kontrolka po wywołaniu generuje się, jednak w żaden sposób nie mogę po kliknięciu na nią wywołać kolejnego zdarzenia.
Zgaduję, że to nie jest właściwy kierunek?

        private void ha_Click(object sender, EventArgs e)
        {
            MessageBox.Show("aaaa");
} 
0

Coś takiego?

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            
            for (int i = 0; i < 5; i++)
            {
                ShapeContainer canvas = new ShapeContainer();
                MyOval mo = new MyOval(i);
                canvas.Parent = this;
                mo.oval1.Parent = canvas;
            }
            
        }
        class MyOval
        {
            public OvalShape oval1;
            int nr;
            public MyOval(int nr)
            {
                this.nr = nr;
                oval1 = new OvalShape();
                oval1.Left = 10 + nr*35;
                oval1.Top = 10;
                oval1.Width = 30;
                oval1.Height = 30;
                oval1.Click += new EventHandler(oval1_Click);
            }
            void oval1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("oval nr: " + nr);
            }
        }
    }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.