2011-07-13 149 views
-1

是否有可能用我選擇的隨機圖像填充pictureBox'actionbox1'?具體來說,'strollinstu''waterbottle'和'goop?'我見過很多問題,但沒有真正解釋。有人可以解釋如何做到這一點?如果有幫助,我正在使用timer_tick事件。pictureboxes隨機化

+0

需要更多的信息來回答這個問題。你的機器上有什麼隨機圖像?如果它隨機,你如何選擇。 – rerun

+0

他們在資源中。他們被稱爲'strollinstu''waterbottle'和'goop'。我的選擇是隨機的,我的意思是特定的圖像。 – janj

+0

因此,您有三個圖像作爲資源,並且您希望其中的一個隨機顯示在圖片框中。 – rerun

回答

0

您可以使用Assembly.GetManifestResourceStream("name_of_your_image");,從資源獲取的圖像流,使用Image.FromStream()加載圖像,然後將其分配給圖片框的Image財產。只需建立一個包含所有圖像名稱的列表,然後在每個計時器刻度中隨機選擇一個。

例子:

var imageNames = new List<string> { "strollinstu", "waterbottle", "goop" }; 

var rand = new Random(); 
var index = rand.Next(0, imageNames.Count - 1); 

var s = this.GetType().Assembly.GetManifestResourceStream(imageNames[index]); 
actionbox1.Image = Image.FromStream(s); 

完全未經測試,但應該給你的想法。

+0

我不認爲我很確定... Assembly.GetManifestResourceStream(「testIMG」);我認爲是正確的,但你如何做隨機部分?我不明白... – janj

+0

@janj:添加了一些示例代碼 – ChrisWue

+0

謝謝,我會試試這個例子。我剛剛有一個藍屏,所以我可能不會回覆,直到明天。 – janj