Я пытаюсь создать 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.





Потому что вы добавили эту динамически созданную кнопку в свою форму (Controls.Add(b);). Если вы хотите добавить его на свой PictureBox, вам необходимо изменить это:
Controls.Add(b);
К этому:
yourPictureBox.Controls.Add(b);
Controls.Add(b);
Над строкой кода добавьте кнопку в элемент управления Form, а не внутри pictureBox.
так что нужно добавить свой элемент управления в pictureBox
pictureBox1.Controls.Add(b);
таким образом ваш вновь созданный элемент управления будет добавлен в окно изображения
Вы должны сделать графическое окно родительским для кнопки
b.Parent = pictureBox1;