Как установить изображение динамического PictureBox в onclick evetn

#c# #winforms

#c# #winforms

Вопрос:

Я пытаюсь установить изображение графического поля, которое я создал динамически, я устанавливаю изображение на основе тега родительского элемента управления, но изображение не отображается

Что я пробовал до сих пор

 private void FinishTask_click(object sender, EventArgs e)
        {
            string pnlTag = ((PictureBox)sender).Parent.Tag.ToString();
            PictureBox pb = new PictureBox();
            pb.Tag = pnlTag;
            
            foreach (Control c in flpParent.Controls)
            {
                if (c.Tag == pb.Tag)
                {                       
                    pb.Image = Properties.Resources.complete;
                }
            }               
        }       
 

Комментарии:

1. Это довольно сложный метод для назначения растрового изображения (которое вы не должны получать из подобных ресурсов). Ваш pb объект никогда не добавляется ни в один контейнер.

2. Одна из причин, по которой изображение не отображается, заключается в том, что вы выбрасываете pb его в конце этой процедуры. Вы не показываетесь pb в своей форме и, следовательно pb.Image , не показываетесь. Есть ли ошибка ввода в вашем коде?

3. @HaraldCoppoolse Нет, окно с изображением создается динамически, поэтому я пытаюсь ссылаться на picturebox с определенным тегом, но он не отображается

4. Просто, как я уже сказал: в конце процедуры вы удаляете PictureBox. Если вы хотите отобразить его в элементе управления, вы должны добавить его в этот элемент управления, например, в форму или в UserControl, GroupBox или любой другой ContainerControl