我正在尝试为建筑规划师创建一个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
上运行。
答案 0 :(得分:2)
因为您已将此动态创建的按钮添加到了表单(Controls.Add(b);
)。如果要将其添加到PictureBox
中,则需要更改此内容:
Controls.Add(b);
对此:
yourPictureBox.Controls.Add(b);
答案 1 :(得分:0)
Controls.Add(b);
代码上方,将您的按钮添加到Form控件中,而不是在pictureBox中
因此必须将控件添加到pictureBox内
pictureBox1.Controls.Add(b);
这样,您新创建的控件将被添加到图片框内
答案 2 :(得分:0)
您应该将图片框设为按钮的父级
b.Parent = pictureBox1;