繁体   English   中英

在Windows窗体(C#)中创建图片框数组

[英]Creating an array of pictureboxes in windows form (C#)

我正在尝试创建一个图片框对象的数组/列表,这些图片框对象在单击按钮时声明并添加到表单中(这意味着我不会用我的数组创建多个对象,但是计划是否可以运行它)。 没有收到错误,但图片框本身未出现在窗体上。

private void spawn_Click(object sender, EventArgs e)
{
    var pictureTest[0] = new PictureBox();

    pictureTest[0].Image = Properties.Resources.testimage;
    pictureTest[0].Location = new Point(500, 250);
    pictureTest[0].Name = "spawn1";
    pictureTest[0].Size = new Size(50, 50);
    pictureTest[0].TabIndex = 98;
    pictureTest[0].TabStop = false;

    this.Controls.Add(pictureTest[0]);

}

在我的研究过程中,我主要是得到使用this.Controls.Add的建议,但这似乎不是我的问题。 我的数组之前用以下方法声明:

PictureBox[] pictureTest = new pictureTest[100];

正如@HansPassant在评论中说的那样,此代码无法编译。 以下应该大致上做您想要的:

int _position = 10;

private void spawn_Click(object sender, EventArgs e)
{

    var pictureTest = new PictureBox();

    pictureTest.Image = Properties.Resources.testimage;
    pictureTest.Location = new Point(_position, 250);
    pictureTest.Name = "spawn1";
    pictureTest.Size = new Size(50, 50);
    pictureTest.TabIndex = 98;
    pictureTest.TabStop = false;

    this.Controls.Add(pictureTest);

    _position += 100;
}

首先,由于它们是表单的一部分,因此无需维护单独的PictureBox数组。 其次,就像@HansPassant所说的-您将图像直接叠加在彼此之上,因此您无法确定是1幅还是1000幅。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM