[英]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之間的隨機數字。
創建一個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.