int i = 3;
 textBox3.Text = "COM" + (i + 1);
 textBox4.Text = "COM" + (i + 2);
 textBox5.Text = "COM" + (i + 3);
 textBox6.Text = "COM" + (i + 4);
 textBox7.Text = "COM" + (i + 5);
 textBox8.Text = "COM" + (i + 6);
 textBox9.Text = "COM" + (i + 7);
 textBox10.Text = "COM" + (i + 8);
 textBox11.Text = "COM" + (i + 9);
 textBox12.Text = "COM" + (i + 10);
 textBox13.Text = "COM" + (i + 11);
 textBox14.Text = "COM" + (i + 12);如上的输出结果,有没有更简单的方法?不要说问题弱智,额是新手。谢谢!

解决方案 »

  1.   

    可以遍历一下textbox控件,然后根据id赋值
    foreach(Control control in xxx.controls)
    {
        if(control is textbox)
       {
            //根据control.id赋值
       }
    }
      

  2.   


    for(int i =3;i<=14;i++)
    {
        TextBox tb = this.Controls["textBox" + i] as TextBox;
        if(tb != null)
            tb.Text = "COM" + (i + 1);
    }
      

  3.   


                foreach (Control con in this.Controls)
                {
                    if (con.GetType().ToString() == "System.Windows.Forms.TextBox")
                    {
                        int i = int.Parse(con.Name.Replace("textBox", "")) + 1;
                        con.Text = i.ToString();
                    }
                }
      

  4.   

    就是楼上说循环, 你可以把textbox搞成数组,或者加到List<TextBox>集合里,或者自己写一个迭代器
    比如public IEnumerable<TextBox> GetTextBox(){
       yield return this.textBox1;
       yield return this.textBox2;
       yield return this.textBox3;
       yield return this.textBox4;
       yield return this.textBox5;
    //...
    }..
    然后
    int i=0;
    foreach(var item in this.GetTextBox())
    {
        item.Text="COM"+ i.ToString();
        i++;
    }
      

  5.   


      for (int i = 3; i < 15; i ++)
                {
                    TextBox tbx = new TextBox();                tbx.Name = "TextBox" + i.ToString() ;
                    //tbx.Text = "Com" + (i + 1).ToString();
                    this.Controls.Add(tbx);
                    tbx.SetBounds(0, (i - 3)*30, 100, 50);
                }            for (int i = 3; i < 15; i++)
                {
                    TextBox tbx = this.Controls["TextBox" + i.ToString()] as TextBox ;                tbx.Text = "TextBox" + (i + 1).ToString();
                }