在运行时将PictureBox添加到窗体上

6
我正在制作一个C#程序,可以生成PictureBox:
private void Form1_Load(object sender, EventArgs e)
{
    PictureBox picture = new PictureBox
    {
        Name = "pictureBox",
        Size = new Size(16, 16),
        Location = new Point(100, 100),
        Image = Image.FromFile("hello.jpg"),
    };
}

然而,该控件在我的表单上没有显示出来。为什么呢?

除非该图像始终位于可执行文件所在的相同目录中,否则您应为该文件包括完整路径。 - LarsTech
2个回答

12

你可以尝试这样做... 你需要使用this.Controls.Add(picture);

private void Form1_Load(object sender, EventArgs e)
    {
        var picture = new PictureBox
        {
            Name = "pictureBox",
            Size = new Size(16, 16),
            Location = new Point(100, 100),
            Image = Image.FromFile("hello.jpg"),

        };
        this.Controls.Add(picture);
    }

如果您想在运行时从表单中删除该项。

 //remove from form
 this.Controls.Remove(picture);
  //release memory by disposing
 picture.Dispose();

2

一个控件,比如PictureBox,只是一个类。它没有什么特别之处,所以new PictureBox不会神奇地出现在你的表单上。

在实例化和初始化控件后,你需要做的就是将控件添加到容器的Controls集合中:

this.Controls.Add(picture);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接