比如,在一个WindowsForm中加入了10个TextBox,然后想用一个循环同时给10个TextBox赋值。以前在VB中可以用TextBox(i)来用控件组,请问在c#中怎样调用?for(i = 1; i < 11; i++)
{
    textBox(i).text = i.ToString();   //词句报错,C#中不支持textBox(i)
}请问如何解决? 如何使用C#控件组?(注意是WinForm程序)

解决方案 »

  1.   

    VB用()表示对数组的索引,而C#用[]了。
      

  2.   

    C#控件组没用过.
    是数组的意思么?
    定义一个textbox类型的数组不就完了么?
      

  3.   

    Button[] btns = new Button[9];
    private void ShowButtonArray()
    {
      for(int i = 0; i < 9; i++)
      {
        btns[i] = new Button(); //这一句往往为初学者忽视,须知要创建对象的实例!
        btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));
        btns[i].Name = "btnTest";
        btns[i].Size = new System.Drawing.Size(48, 48);
        btns[i].Text = i.ToString();
        btns[i].Click += new System.EventHandler(this.btns_Click); //统一的事件处理
        this.Controls.Add(btns[i]); //在窗体上呈现控件
      }
    }private void btns_Click(object sender, System.EventArgs e)
    {
       MessageBox.Show(((Button)sender).Text + " was clicked !"); //通过sender判断激发事件的控件
    }private void Form1_Load(object sender, System.EventArgs e)
    {
      ShowButtonArray();
    }
      

  4.   


    那么,怎样使用呢? 我用textBox[i].text = "a";
    但是还是报错啊,错误是 不存在textBox.
    我的10个textBox分别是 textBox1,textBox2 ... textBox10 
    请问控件组是否要在使用之前声明?
      

  5.   


     for (int i = 1; i <= 10; i++)
                {
                    string id ="textBox"+ i.ToString();
                    this.Controls[id].Text=i.toString();
                }
      

  6.   

    哈,VB转过来的,有些小毛病开始是不注意的,最简单的Public ,public