簡體   English   中英

根據C#中的隨機數選擇一個對象

[英]Select an object based on random number in C#

我想隨機更改圖片框控件的背景色。 我有的是

Random Rand = new Random();
int randNum = Rand.Next(1,3);
string boxName = "pic" + randNum.ToString();
PictureBox picBox = new PictureBox();
picBox.Name = boxName;

picBox.BackColor = Color.White;

而且它不起作用。 我知道picBox.Name = boxName實際上並沒有將picBox設置picBox圖片框,但這是唯一不會產生某些智能錯誤的代碼。

我有3個圖片框,pic1,pic2和pic3。 這是通過單擊按鈕完成的,因此是1到3之間的隨機數字。

我嘗試在C#中應用選擇隨機位置 ,但是我無法使其正常工作,有人可以幫忙嗎?

創建一個PictureBox數組:

var boxes = new [] { pic1, pic2, pic3 };

並在選擇隨機一個時使用它:

var picBox = boxes[Rand.Next(0, 3)];

注意:您必須從0(包含)到3(排除)進行繪制,因為數組是從0開始索引的。

比起將隨機PictureBox分配給picBox變量,您可以更改背景:

picBox.BackColor = Color.White;

為什么不簡單地將顏色存儲在數組中並隨機更改背景顏色? 無需重新創建圖片框。

Color[] colours = new Color[] { Color.White, Color.Black, Color.Blue, Color.Red }; //etc
Random Rand = new Random();
int randNum = Rand.Next(0, colours.Length);

然后分配顏色:

picBox.BackColor = colours[randNum];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM