Как разместить изображение в кнопку win forms

Столкнулся с проблемой при написании игры. Логику готова, то есть кнопка спавнится в рандомных 6 точках.(Фото ниже) Необходимо сделать так, чтобы там было изображение, а не вид кнопки с надписью "target". Кнопка прописана через таймер, вот код:

        {
            isHit = false;
            btn_click.Enabled = true;
            btn_click.BackColor = System.Drawing.Color.Transparent;

            locationNum = rnd.Next(1, 7);


            switch (locationNum)
            {
                case 1:
                    btn_click.Left = 186;
                    btn_click.Top = 297;
                    break;

                case 2:
                    btn_click.Left = 43;
                    btn_click.Top = 327;
                    break;

                case 3:
                    btn_click.Left = 325;
                    btn_click.Top = 333;
                    break;

                case 4:
                    btn_click.Left = 60;
                    btn_click.Top = 402;
                    break;

                case 5:
                    btn_click.Left = 309;
                    btn_click.Top = 406;
                    break;

                case 6:
                    btn_click.Left = 187;
                    btn_click.Top = 450;
                    break;

                default:
                    break;
            }
        }

Вот.


Ответы (1 шт):

Автор решения: tomato-magnet-regulato
public button addButton(string nameBtn, Image img)
        {
            button btn = new button();
            btn.Name = nameBtn;
            btn.BackgroundImageLayout = ImageLayout.Center; //Положение картинки на кнопке.
            btn.BackgroundImage = img; 
            btn.Height = 50;
            btn.Width = 50;
            btn.FlatStyle = FlatStyle.Flat;    //Убираем фон
            btn.FlatAppearance.BorderSize = 0; //Убираем края(обводку)
            //Так же можно добавить позиционирование(если нид) 
            btn.Location = new Point(X, Y);
            return btn;
        }

применение:

panel1.Controls.Add(addButton("btn1", Resources.NameImage));

Или делаем через свойства объекта:

введите сюда описание изображения

Выбираем нужную картинку:

введите сюда описание изображения

FlatStyle:

введите сюда описание изображения

FlatAppearance:

введите сюда описание изображения

И ещё одно, по своей природе winforms не поддерживает прозрачность формы и элементов, но это лечится(костылем). ИЛИ! можно сделать точно также только с PictureBox. С ней вроде полегче придумать прозрачность.

Оставлю все равно здесь:

О PictureBox и Button

Возможное решение проблемы прозрачности

→ Ссылка