C# 在pictureBox vb c中加载图像时出现NullReferenceException#
我是visual basic的初学者,我正在开发这个游戏,它应该加载存储在图片框数组中的图像并随机显示它们,但我一直在这一行中遇到运行时错误“NullReferenceException”:C# 在pictureBox vb c中加载图像时出现NullReferenceException#,c#,C#,我是visual basic的初学者,我正在开发这个游戏,它应该加载存储在图片框数组中的图像并随机显示它们,但我一直在这一行中遇到运行时错误“NullReferenceException”: if(egypt[randomNumber]==egypt[0]) 之前的台词是: PictureBox [] egypt = new PictureBox [5]; Image egypt1 = Image.FromFile(Application.StartupPath + @"\image\egy
if(egypt[randomNumber]==egypt[0])
之前的台词是:
PictureBox [] egypt = new PictureBox [5];
Image egypt1 = Image.FromFile(Application.StartupPath + @"\image\egypt1.png");
egypt[0].Image = egypt1;
谢谢。我怀疑错误实际上出现在
egypt[0].Image=egypt1
行上,因为Visual Studio中存在一个错误,这意味着异常助手偶尔会高亮显示引发异常的行之后的行
无论如何
egypt[0]
为null
,因为您尚未为其指定实际对象。您只为数组保留了空间,但没有在其中放置任何内容(创建时数组中充满了空值)
您需要在它之前添加aline,以便它的内容如下:
egypt[0] = new PictureBox(); // This is the new line
egypt[0].Image = egypt1; // This is the existing line
我怀疑这会解决您的问题。您必须创建pictuebox的实例并通过写入将其分配给数组
egypt[0].Image = egypt1;
您正在尝试访问空数组中位于位置0的PictureBox的.Image属性。埃及[0]的值为NULL。通过在…之前添加以下行来指定该对象的实例
egypt[0] = new PictureBox();
顺便说一句:我不知道你的具体情况,但我不会创建一个PictureBox数组,最好将图像加载到数组或Imagelist中,并在需要时将其分配到图片框中。。。除非您希望同时显示它们中的每一个;) 您应该从问题中删除
vb.net
标记。我会记住这一点,谢谢。