将 PictureBox 添加到数组中

Adding PictureBox into array

我正在创建一个图片框数组,但是我不确定将新图片框放入数组中所需的代码。

    PictureBox[] bossHealth = new PictureBox[20];
        for( int i = 0; i<19; i++)
        {
            bossHealth[i].Name = "health";
            bossHealth[i].Size = new Size(10, 26);
            bossHealth[i].BackColor = Color.LimeGreen;
            bossHealth[i].Location = new Point(this.Width / 2 + (i * 10), 12);
            bossHealth.Add(bossHealth[i]);
            Controls.Add(bossHealth[i]);
        }

在代码行之后 PictureBox[] bossHealth = new PictureBox[20]; 你有一个可以容纳 20 个图片框的数组。但是,此数组中的每个单元格都包含 null - 您必须在循环中对其进行初始化。

此外,这一行 bossHealth.Add(bossHealth[i]); 毫无意义。数组没有 Add 方法,并且 bossHealth[i] 已经是数组的一部分。好像你在混淆数组和列表。

这是您的代码的改进版本:

PictureBox[] bossHealth = new PictureBox[20];
for( int i = 0; i<19; i++)
{
    bossHealth[i] = new PictureBox();
    bossHealth[i].Name = "health";
    bossHealth[i].Size = new Size(10, 26);
    bossHealth[i].BackColor = Color.LimeGreen;
    bossHealth[i].Location = new Point(this.Width / 2 + (i * 10), 12);
    Controls.Add(bossHealth[i]);
}