如何製作button2如果其顏色與button1中的顏色相同,請更改它的BackColor顏色?如何使按鈕背景顏色不同
我的程序如何工作?好吧,我必須按開始(button5)來混合我的顏色,之後我按下Check按鈕查看答案。
正如你所看到的圖片,我有兩個綠色的按鈕和兩個橙色的按鈕,但我不希望任何button.backcolors是平等的。他們都應該是不同的。
換句話說,如果button2.backcolor 與button1.backcolor是相同的,它應該混合它的背景色,直到它變得不同。我允許使用的唯一的顏色是綠色,紅色,藍色,紫色,橙色,黃色
任何想法我怎麼能做到這一點?
Random random = new Random();
List<Color> possibleColors = new List<Color>()
{
Color.Red,
Color.Green,
Color.Orange,
Color.Blue,
Color.Purple,
Color.Yellow,
};
private Color GetRandomColorOfLoist()
{
return possibleColors[random.Next(0, possibleColors.Count)];
}
private void button5_Click(object sender, EventArgs e)
{
button1.BackColor = GetRandomColorOfLoist();
button2.BackColor = GetRandomColorOfLoist();
button3.BackColor = GetRandomColorOfLoist();
button4.BackColor = GetRandomColorOfLoist();
button1.Visible = false;
button2.Visible = false;
button3.Visible = false;
button4.Visible = false;
}
private void button6_Click(object sender, EventArgs e)
{
button1.Visible = true;
button2.Visible = true;
button3.Visible = true;
button4.Visible = true;
}
編輯1個
了Arul Manivannans思想工作,但按下啓動和檢查之後,如果我按重新開始,比賽簡直崩潰。我最後的問題是,如何在點擊檢查按鈕(button6)後隱藏開始按鈕(button5)?
我的代碼:
Random random = new Random();
List<Color> possibleColors = new List<Color>()
{
Color.Red,
Color.Green,
Color.Orange,
Color.Blue,
Color.Purple,
Color.Yellow,
};
private Color GetRandomColorOfLoist()
{
int index = random.Next(0, possibleColors.Count);
Color ColorToReturn = possibleColors[index];
possibleColors.Remove(possibleColors[index]);
return ColorToReturn;
}
private void button5_Click(object sender, EventArgs e)
{
button1.BackColor = GetRandomColorOfLoist();
button2.BackColor = GetRandomColorOfLoist();
button3.BackColor = GetRandomColorOfLoist();
button4.BackColor = GetRandomColorOfLoist();
button1.Visible = false;
button2.Visible = false;
button3.Visible = false;
button4.Visible = false;
List<Color> possibleColors = new List<Color>()
{
Color.Red,
Color.Green,
Color.Orange,
Color.Blue,
Color.Purple,
Color.Yellow,
};
}
private void button6_Click(object sender, EventArgs e)
{
button1.Visible = true;
button2.Visible = true;
button3.Visible = true;
button4.Visible = true;
}
EDIT 2
好吧,我知道了。感謝您的幫助
其中實際位置隨機隨機=新Random(); '聲明?這是一個衆所周知的行爲,當跨越多個隨機對象是一個非常小的時間流逝 –
我發佈的整個代碼位於我的form1.cs – Texo
準確的地方。你的代碼不能編譯。你不能從代碼中取出代碼。由於隨機的行爲,這個精度非常重要。 –