问题所属范围:winform
问题来源: 在代码块儿中动态生成button控件并添加至一list中 用list[index]方式设置其前景色 设置无效。求解决。 for (int i = 0; i < 70; i++)
{
System.Windows.Forms.Button btn = new Button();
btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
btn.Location = new System.Drawing.Point(60+i%10*50, 60+i/10*50);
btn.Name = "btn"+i.ToString ();
btn.Size = new System.Drawing.Size(50, 50);
btn.TabIndex = 0;
btn.Text = "";
btn.UseVisualStyleBackColor = true;
btn.BackColor = Color.Green;
btn.FlatAppearance.BorderSize = 0;
btn.ForeColor = Color.Black;
btn.Enabled = false;
list.Add(btn);
this.Controls.Add(list[i]);
if (i%10==0)
{
btn.Visible = false;
}
}
//一系列代码之后…… list[1].ForeColor = list[3].ForeColor = list[12].ForeColor = list[23].ForeColor =
list[43].ForeColor = list[52].ForeColor = list[61].ForeColor = list[63].ForeColor =
Color.Red;
//就是这句无效,button控件的text还是黑色字,无法改成红色。
求解
谢谢了!
问题来源: 在代码块儿中动态生成button控件并添加至一list中 用list[index]方式设置其前景色 设置无效。求解决。 for (int i = 0; i < 70; i++)
{
System.Windows.Forms.Button btn = new Button();
btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
btn.Location = new System.Drawing.Point(60+i%10*50, 60+i/10*50);
btn.Name = "btn"+i.ToString ();
btn.Size = new System.Drawing.Size(50, 50);
btn.TabIndex = 0;
btn.Text = "";
btn.UseVisualStyleBackColor = true;
btn.BackColor = Color.Green;
btn.FlatAppearance.BorderSize = 0;
btn.ForeColor = Color.Black;
btn.Enabled = false;
list.Add(btn);
this.Controls.Add(list[i]);
if (i%10==0)
{
btn.Visible = false;
}
}
//一系列代码之后…… list[1].ForeColor = list[3].ForeColor = list[12].ForeColor = list[23].ForeColor =
list[43].ForeColor = list[52].ForeColor = list[61].ForeColor = list[63].ForeColor =
Color.Red;
//就是这句无效,button控件的text还是黑色字,无法改成红色。
求解
谢谢了!
创建是在formload里做的, 修改调用是在某些事件里做的.
改为btn.ReadOnly=false;
list[43].ForeColor = list[52].ForeColor = list[61].ForeColor = list[63].ForeColor =
Color.Red;btn.Enabled=false;
谢谢