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);如上的输出结果,有没有更简单的方法?不要说问题弱智,额是新手。谢谢!
foreach(Control control in xxx.controls)
{
if(control is textbox)
{
//根据control.id赋值
}
}
for(int i =3;i<=14;i++)
{
TextBox tb = this.Controls["textBox" + i] as TextBox;
if(tb != null)
tb.Text = "COM" + (i + 1);
}
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();
}
}
比如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++;
}
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();
}