xxxx.Controls["xxx"].Text="???";是不是这种意思?假定"xxx"是你的string类型变量

解决方案 »

  1.   

    TextBox txt= (TextBox)this.panel1.Controls["控件名"]; 
      

  2.   

    你可以把那个string变量付给那个控件的name属性嘛
    是这个意思么?
      

  3.   

    for (int i = 0; i < 软件0801_19_权限列表DataGridView.Rows.Count; i++)
                 {
                     for (int j = 1; i <= 4; j++)
                     {
                         name = "checkBox" + j.ToString();
                         //cb= name;
                         if (cb.Text == 软件0801_19_权限列表DataGridView.Rows[i].Cells[i].Value.ToString())
                         {
                            name.Checked = true;
                         }
                     }
                 }
    就是上面代码的意思
      

  4.   


    控件本来就存在,用一个string的变量来动态映射到那些已经存在的控件,然后用string的那个变量当作那个控件的名称来使用
      

  5.   

    TextBox txt= (TextBox)this.panel1.Controls[str];
      

  6.   

    TextBox txt= this.panel1.Controls[str] as TextBox;
      

  7.   


    运行过程中还是出现错误    错误信息: 未将对象引用设置到对象的实例下面是代码
    string name;
                CheckBox cb;
                for (int i = 0; i < 软件0801_19_权限列表DataGridView.Rows.Count; i++)
                {
                    for (int j = 1; i <= 4; j++)
                    {
                        name = "checkBox" + j.ToString();                    cb = this.groupBox3.Controls[name] as CheckBox;
                        if (cb.Text == 软件0801_19_权限列表DataGridView.Rows[i].Cells[0].Value.ToString())
                        {
                            cb.Checked = true;
                        }
                    }
                }
      

  8.   

    断点跟一下是哪个对象没有实例化,
    你的代码中cb如果为null的话,肯定会报错的,在做cb.text前判断一下cb是否为null,
    而且软件0801_19_权限列表DataGridView.Rows[i].Cells[0].Value为null的话也会出现该异常的,建议把改为软件0801_19_权限列表DataGridView.Rows[i].Cells[0].FormattedValue.ToString()
      

  9.   


    没错,CB为null,该怎么改呢?