Компоненты созданные программным путем - C#
Формулировка задачи:
Есть 2 вопроса
во-первых
Программно создаются пикчебоксы mp[k], код следующий(он большой, поэтому только его фрагменты, мог не все выдернуть, но все работает как надо, поэтому явных ошибок не должно быть)
PictureBox[] pb = new PictureBox[5]; PictureBox[] mp = new PictureBox[45]; pb[0] = pictureBox1; pb[1] = pictureBox2; pb[2] = pictureBox3; pb[3] = pictureBox4; pb[4] = pictureBox5; //допустим для первого picturebox1 On Click panel1.Controls.Add(mp[k]); mp[k].Size = new Size(100, 81); mp[k].Location = new Point(x, y); mp[k].Image = pb[0].Image; k = k + 1; //это тоже работает. Все эти mp добавляются на панель и их может быть любое количество, в зависимости от того сколько раз щелкнуть на picturebox1. //Затем я хочу удалять конкретный пикчебокс mp, после того как пользователь щелкнет на него. //так вот первый вопрос, как мне создать событие для щелчка по программно созданному пичкебоксу mp, ведь на форме его нет //и второй вопрос как образом применить это событие для k пикчебоксов //и еще вопросик кода я удаляю таким образом: panel1.Controls.Remove(mp[0]) , как сместиь после этого индексы, чтобы mp[1] стал на место mp[0] и все остальные тоже сдвинулись на 1.
Решение задачи: «Компоненты созданные программным путем»
textual
Листинг программы
for(int i=(int)(((PictureBox)sender).Tag);i<pb_mas.Length;i++) { pb_mas[i]=pb_mas[i+1]; pb_mas[i].Tag=(int)(pb_mas[i].Tag)-1; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д