猿问

我收到 NullReferenceException 错误,但我不知道为什么?

我知道这个错误显示在对象为空的地方。但就我而言,我不确定为什么会显示它。我尝试在 timer_tick 上随机地在每 30px 的宽度上创建 10 个 PictureBox 对象,这是我的代码。


PictureBox[] meteor;

int i=0;

Random rnd = new Random();


private void timer1_Tick(object sender, EventArgs e)

{

    if(i<10)

    { 

    int pozicija = rnd.Next(1, 25);

    pozicija *= 30;

    meteor[i] = new PictureBox()

    {

        Name = "pictureBox",

        BackColor = Color.Transparent,

        Size = new Size(80, 60),

        Location = new Point(pozicija, 0),

        Image = imageList2.Images[0],

    };

    this.Controls.Add(meteor[i]);

    }

    i++;

}

错误指向这行代码


this.Controls.Add(meteor[i]);

为什么 Visual Studio 会显示此错误?


噜噜哒
浏览 176回答 1
1回答

PIPIONE

在使用数组之前,您必须先对其进行实例化,如下所示:PictureBox[]&nbsp;meteor&nbsp;=&nbsp;new&nbsp;PictureBox[10];此外,我假设imageList2已定义并且您已向其中添加了图像。
随时随地看视频慕课网APP
我要回答