2017-05-04 15 views
-3

Panel内にあるmy PictureBoxのランダムな位置を生成したい。私は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

.NETフレームワークの約5%を習得するだけです。その後、あなたはそれの残りの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が最初にロードオブジェクトときに実行したい場合、あなたはにその小さなコードスニペットを配置する必要がありますイベント

+0

PictureBoxをPanel内に完全に収めるには、rand.Next()呼び出しでパネルの幅/高さからPBの幅/高さを引きます。 –

関連する問題