C#Windows窗体着色随机按钮
我应该在下面的问号处写什么?每次更改按钮的颜色 我可以保留列表中的姓名,但我不能按背景色C#Windows窗体着色随机按钮,c#,windows,forms,C#,Windows,Forms,我应该在下面的问号处写什么?每次更改按钮的颜色 我可以保留列表中的姓名,但我不能按背景色 buttonList[rndNumber].Name ??? Back.Color = Color.Red; int satir,sutun,minute,tik; 列表按钮列表=新列表(); 随机rnd=新随机(); 私有void timerRandom_Tick(对象发送方,事件参数e) { int rndNumber=rnd.Next(0,satir*sutun); //按钮列表[rndNumbe
buttonList[rndNumber].Name ??? Back.Color = Color.Red;
int satir,sutun,minute,tik;
列表按钮列表=新列表();
随机rnd=新随机();
私有void timerRandom_Tick(对象发送方,事件参数e)
{
int rndNumber=rnd.Next(0,satir*sutun);
//按钮列表[rndNumber]。名称???Back.Color=Color.Red;
//应该更改我在下面创建的按钮的颜色
}
int i=0,j=0;
私有void btnStart_单击(对象发送方,事件参数e)
{
panel.Controls.Clear();
开关(comboBoxLevel.Text)
{
案例“1.Seviye”:
satir=5;sutun=5;分钟=60000;tik=5000;
打破
案例“2.Seviye”:
satir=7;sutun=7;分钟=120000;tik=5000;
打破
案例“3.Seviye”:
satir=9;sutun=9;min=1800000;tik=500;
打破
违约:
打破
}
对于(i=0;i
您需要设置按钮的名称,无需关心名称:
buttonList[rndNumber].BackColor = Color.Red;
要创建原始背景色,请执行以下操作:
for (i = 0; i < satir; i++)
{
for (j = 0; j < sutun; j++)
{
Button btn = new Button();
btn.Name = "btn" + i + j;
// btn.Text = "Button" + i + " , " + j;
btn.Size = new Size(80, 60);
btn.BackColor = System.Drawing.Color.AliceBlue;
btn.Location = new Point(i * 80, j * 60);
btn.Click += buttonClick;
panel.Controls.Add(btn);
buttonList.Add(btn);
}
}
要更改您命名的按钮的背景色,请使用:
private void changeColor(string buttonName,System.Drawing.Color newColor)
{
Button b = (Button)Controls.Find(buttonName, true)[0];
b.BackColor = newColor;
}
你为什么关心这个名字?你有了控件,只需给它指定一个背景色。这是一个简单的属性赋值。
private void buttonClick(object sender, EventArgs e)
{
Button b = (Button)sender;
b.BackColor = System.Drawing.Color.AliceBlue;
}
private void changeColor(string buttonName,System.Drawing.Color newColor)
{
Button b = (Button)Controls.Find(buttonName, true)[0];
b.BackColor = newColor;
}