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;
    }