问题所属范围: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还是黑色字,无法改成红色。
求解
谢谢了!

解决方案 »

  1.   

    修改前景色的代码与生成Button的代码是在同一个方法里吗?
      

  2.   

    list 为button 类型修改调用  和  创建  不在一个方法内
    创建是在formload里做的,  修改调用是在某些事件里做的. 
      

  3.   

    btn.Enabled = false;问题出在这里,如果控件是无效的,应该是灰色的
      

  4.   

    #5楼说的对,Enable=false时无法修改前景色的 如果的确需要,则要重绘控件http://blog.csdn.net/fangxinggood/archive/2009/02/09/3869613.aspx
      

  5.   

    请将这个btn.Enabled = false;
    改为btn.ReadOnly=false;
      

  6.   

    btn.Enabled=true;  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;btn.Enabled=false;
      

  7.   

    btn.Enabled=false;貌似只能修改背景色,字体颜色是无法修改的,一旦为false就是灰色了..重绘吧
      

  8.   

    同问……貌似没有这项……不过问题找到了……果然是enable属性的问题啊……
    谢谢