2017-05-04 37 views
-3

我想爲我的圖片框在面板中生成一個隨機位置。我用C#加載我的頁面。這是我的PictureBox代碼。我怎樣纔能有一個隨機的位置?面板上圖片框的隨機位置

private void Form1_Load(object sender, EventArgs e) 
{    
    PictureBox pictureboxtroll = new PictureBox(); 
    pictureboxtroll.Size = new System.Drawing.Size(70, 70); 
    pictureboxtroll.BackColor = Color.Green; 
    this.Controls.Add(pictureboxtroll); 
} 
+0

你只需要學習,哦,約5%的.NET框架。之後你就會知道如何找到剩下的95%。要求別人爲你做出這個發現,完全把它搞砸了。我們能做些什麼來幫助你? –

回答

1

你可以通過它Location屬性設置元素的位置:

// generate random position 
Random random = new Random(); 
var viewRange = this.Size - pictureboxtroll.Size; 
var left = random.Next(0, viewRange.Width); 
var top = random.Next(0, viewRange.Height); 

// set the random position 
pictureboxtroll.Location = new Point(left, top); 
1

如果要移動的圖片框的位置(X和Y座標),你必須通過進入電影它位置屬性是這樣的:

Random rand = new Random(); 
picturebox.Location.X = new Point(rand.Next(0,this.Widht)); 
pictureBox.Location.Y = new Point(rand.Next(0,this.Height)); 

如果你想那個時執行Form1的對象首次加載,那麼你需要把那個小代碼片段在Form_Load事件

+0

如果您希望PictureBox完全位於您的面板中,則在rand.Next()調用中從Panel的寬度/高度中減去PB的寬度/高度。 –