Динамически вставьте Button / PictureBox в PictureBox - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь создать Image Mapper для планировщика строительства.Когда я нажимаю на план строительства, я хочу, чтобы в Image Mapper появилась кнопка или PictureBox (ведьма также PictureBox). Я пробовал этот код:

if (e.Button == MouseButtons.Left)
{
    Button b = new Button();
    int i = 0;
    b.Location = new Point(e.X, e.Y);
    b.Name = "button_" + (i + 1).ToString();
    b.Text = "Click";
    b.Size = new Size(110, 42);
    b.Font = new Font("MinionPro", 20);
    b.Padding = new Padding(0);
    Controls.Add(b);
}   

Это будет работать толькона Form, но не на PictureBox.

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018
Controls.Add(b);

Над строкой кода добавьте свою кнопку в элемент управления Form, а не внутри pictureBox

, поэтому добавьте свой элемент управления внутри pictureBox

pictureBox1.Controls.Add(b);

таким образом, ваш недавно созданный элемент управлениябудет добавлено внутрь picturebox

0 голосов
/ 29 ноября 2018

Вы должны сделать графическое окно родителем кнопки

  b.Parent = pictureBox1;
0 голосов
/ 29 ноября 2018

Поскольку вы добавили эту динамически созданную кнопку в форму (Controls.Add(b);).Если вы хотите добавить его к вашему PictureBox, вам нужно изменить это:

Controls.Add(b);

На это:

yourPictureBox.Controls.Add(b);
...