2015-05-09 57 views
-1

我是一個初級的visual basic,我正在研究這個遊戲,它應該加載存儲在圖片框數組中的圖像並隨機顯示它們,但是我不斷收到運行時錯誤 「的NullReferenceException」 在這一行:NullReferenceException當在pictureBox vb中加載圖像時c#

if(egypt[randomNumber]==egypt[0]) 

的前行是:

PictureBox [] egypt = new PictureBox [5]; 
Image egypt1 = Image.FromFile(Application.StartupPath + @"\image\egypt1.png"); 
egypt[0].Image = egypt1; 

謝謝。

+1

您應該從您的問題中移除'vb.net'標籤。 –

回答

1

我懷疑錯誤實際上是在egypt[0].Image = egypt1行,因爲在Visual Studio中有一個錯誤,這意味着偶爾異常助手會在拋出異常之後突出顯示該行。

反正...

egypt[0]null因爲您還沒有指定一個實際的對象吧。您只預留了空間,爲數組,但不能把任何東西在那裏(創建時數組充滿零點)

您需要它添加艾琳,所以它讀取是這樣的:

egypt[0] = new PictureBox(); // This is the new line 
egypt[0].Image = egypt1;  // This is the existing line 

我懷疑這會解決你的問題。

0

你必須創建pictuebox的實例,並將其分配給數組 - 通過寫

egypt[0].Image = egypt1; 

你想在pos 0空數組訪問一個PictureBox的財產圖像配。埃及[0]的值爲NULL。加入之前以下行順便說一句分配一個對象的實例...

egypt[0] = new PictureBox(); 

:我不知道你的具體情況,但我不會創建Pictueboxes陣列,更好的負載的圖片到一個數組或圖像列表並在需要時將它們分配給圖片框......除非您想同時顯示它們中的每一個;)

+0

我會記住這一點,謝謝。 – Boshokai