2013-03-27 168 views
0

我想隨機圖像分配到面板:分配隨機背景圖像面板

System.Random randomNum = new System.Random(); 
int myInt = randomNum.Next(4); 

if (Panel1.BackgroundImage != null) 
{ 
    switch (myInt) 
    { 
     case 0: 
      Panel1.BackgroundImage = @"C:\Users\etrit.bujupi\Desktop\IO-Etrit\CardGame\Images\2-Black.jpg"; 
    } 
} 

但我的代碼導致錯誤:

Cannot implicity convert type 'string' to 'System.Drawing.Image'

+2

你能做什麼?我的意思是,你可以添加面板,你可以添加圖形,你知道有一個[RANDOM](http://msdn.microsoft.com/en-gb/library/system.random.aspx)類嗎? -1,因爲我們需要更多細節,就像你希望我們爲你寫遊戲一樣! – Dave 2013-03-27 09:24:38

+0

@DaveRook我是一名新手。順便說一句,面板的形式,我只需要給他們隨機圖像。 – 2013-03-27 09:25:22

+2

我並不想聽起來很粗魯(我正在努力幫助),但是,這個網站不適合人們做你的工作,如果你被困住了,我們會幫助你。我的建議只是嘗試添加圖像,然後添加圖像。然後看看如何隨機化一系列圖像(或者你接近它),並在遇到困難時在具體點上詢問你的代碼示例! – Dave 2013-03-27 09:26:01

回答

3

此代碼可能讓你在路上:

ImageList images = new ImageList(); 
images.Images.Add(Image.FromFile("C:\\pic1.bmp")); 
images.Images.Add(Image.FromFile("C:\\pic2.bmp")); 
//Fill with more images 

//Make a Random-object 
Random rand = new Random(); 
// This could also be a panel already on the Form 
Panel p = new Panel(); 

//Pick a random image from the list 
p.BackgroundImage = images.Images[rand.Next(0, images.Images.Count - 1)]; 

希望這有助於。

+1

這實際上節省了很多代碼。非常感謝 !乾杯:) – 2013-03-27 09:45:15

3

使用此:

Panel1.BackgroundImage = System.Drawing.Bitmap.FromFile(yourPath); 
+0

它正在工作。謝謝。乾杯 – 2013-03-27 09:33:17

0
System.Random randomNum = new System.Random(); 
     int myInt = randomNum.Next(4); 

     if (Panel1.BackgroundImage != null) 
     { 
      switch (myInt) 
      { 
       case 0: 
        Panel1.BackgroundImage = System.Drawing.Bitmap.FromFile(@"C:\Users\etrit.bujupi\Desktop\IO-Etrit\CardGame\Images\2-Black.jpg"); 

      } 
     } 
0

Screenshot

添加圖像中的項目資源,然後用它這樣的:

Panel1.BackgroundImage = Properties.Resources.MyImage;