Компоненты созданные программным путем - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы