我有很多个文本框,例如他们的命名是week1,week2,week3,……
现在有个string变量n通过循环使得它每次的值都为week1,week2,week3,……
我现在如何用n来表示那个文本框?
比如我想在每次循环的时候给文本框赋值,n.text=n,当然这个是不对的,就是想问问怎样才能做到利用变量的值来表示文本框的名字。
Thank you!

解决方案 »

  1.   

    我是自学C#的。又没说我是高手。来挑Pascal、VB么……
      

  2.   

    for(int i=1;i<11;i++)
    {
     TextBox txt = new TextBox();
     this.Controls.Add(txt);
     txt.Name="Weelk"+i.ToString();
     ....
    }
      

  3.   

    我们老师说Pascal已经淘汰了。
      

  4.   


    高手,麻烦点拨,this.COntrols.Add(txt)是啥意思啊?
    我用在一个button点击的事件中,想达到给几个文本框赋值的目的,这一行要改吗?
    似乎没有效果啊!代码如下:        private void buttonj1_Click(object sender, EventArgs e)
            {
                m = 15*week + 1; 
                labeln.Text = "一";
                StreamReader read = new StreamReader("database.txt");
                for (i = 1; i <= 5 * (m - 1); i = i + 1) temp = read.ReadLine();
                for (i = 1; i <= 5; i = i + 1)
                {
                    TextBox txt = new TextBox();
                    this.Controls.Add(txt);
                    txt.Name = "Week1_" + i.ToString();
                    txt.Text = read.ReadLine();
                }
                read.Close();
            }
      

  5.   

    我原来是这样做的week1_1.Text = read.ReadLine();
    week1_2.Text = read.ReadLine();
    week1_3.Text = read.ReadLine();
    week1_4.Text = read.ReadLine();
    week1_5.Text = read.ReadLine();
    read.Close();就是现在想精简一下程序,直接用循环来做,因为下面的比五行要多,这样太乱,虽然复制一下也很容易,但我想精简一下
      

  6.   

    这样似乎不行,不知道为什么for (i = 1; i <= 5; i = i + 1)
      {
      TextBox txt = new TextBox();
      this.Controls.Add(txt);
      txt.Name = "Week1_" + i.ToString();
      txt.Text = read.ReadLine();
      }read.Close();
      

  7.   

    大家看这个贴吧
    那上面我说得更清楚http://topic.csdn.net/u/20110109/12/340e877e-9ba0-497a-aca3-f15d6fc91e95.html?55840
      

  8.   

    我的TextBox是已经建好的,不知道为什么它里面的内容就是不变。
      

  9.   


    狂汗---我正在使用《Csdn收音机》第一时间获取最新动态!
      

  10.   


    更汗--我正在使用《Csdn收音机》第一时间获取最新动态!
      

  11.   

    楼上强人多啊又是VB又是这个又是那个的哎~
    小写一个!          int i = 0;
              //遍历所有控件
                foreach (Control item in Controls)
                {
                    //判断是否是TextBox
                    if (item is TextBox)
                    { 
                        //获得TextBox...具体操作..
                        item.Text="txt"+(++i);
                    }
                }
      

  12.   

    ((TextBox)Page.FindControl("week" + i.ToString())).Text;
      

  13.   

    看你动态生成的文本框数量是否固定,如果固定可以声明控件数组
    Public Class yourClass()
    {
        private TextBox[] Week;
        Public yourClass()
        {
        //  这是你类的构造函数
            Week = new TextBox[你的数量];
           for(int i = 0;i<5;i++)
           {
               Week[i] = new TextBox();
               Week[i].Location = new point(X,Y);  //设置文本框显示的位置,避免叠在一起,X,Y为坐标
               Week[i].Text = Readline();
               this.Controls.AddRange(Week);
           }
        }
    }如果不固定只能声明临时变量
    Public Class yourClass()
    {
        Public yourClass()    //  这是你类的构造函数
        {       Week = new TextBox();
           for(int i = 0;i<5;i++)
           {
               Week = new TextBox();
               Week.Location = new point(X,Y);  //设置文本框显示的位置,避免叠在一起,X,Y为坐标
               Week.name = "week_" + i.toString();
               Week.Text = Readline();
               this.Controls.Add(Week);
           }
        }    //当你以后需要操作某个文本框的时候用this.Controls.Find("name",false)获得该文本框,如改变Week_1的文本内容:
        this.Controls.Find("Week_1",false).Text = "你要改的内容";}
      

  14.   

                for (int i = 1; i < 10; i++)
                {
                    TextBox tb = new TextBox();
                    tb = this.Controls[week + i.ToString()] as TextBox;
                    tb.Text = "week" + i.ToString();
                }
      

  15.   


    一看你的老师就不会用Delphi。
      

  16.   

     int i = 0;
              //遍历所有控件
                foreach (Control item in Controls)
                {
                    //判断是否是TextBox
                    if (item is TextBox)
                    { 
                        //获得TextBox...具体操作..
                        item.Text="txt"+(++i);
                    }
                }
      

  17.   


            int i = 0;
                //遍历所有控件
                foreach (Control item in Controls)
                {
                    //判断是否是TextBox
                    if (item is TextBox)
                    {
                        i++;
                        //获得TextBox...具体操作..
                        item.Text = "txt" + i;
                    }
                }
    学C#请看视频:零基础学C#
      

  18.   


    TextBox[] tx = new TextBox[6]; for (int i = 1; i <= 6; i++)
    {
    tx[i-1] = (TextBox)this.Controls["textBox" + i.ToString()];
    } for (int i = 1; i <= 6; i++)
    {
    tx[i-1].Text = i.ToString();
    }