使用循环创建控件然后使用字符串追加名称

时间:2013-12-07 03:56:07

标签: c#

有谁知道如何将字符串附加到变量名称?

public void editForm(DataGridView dg)
{
   for(int i=0; i<=dg.Columns.Count-1;i++)
   {
      TextBox txt=new TextBox();   //I want to append i to txt. like -->TextBox txt&i
   }
}

然后我会将创建的文本框添加到表单中。

1 个答案:

答案 0 :(得分:1)

C#无法做到这一点。

你可以使用某种集合来实现类似的东西,比如数组,

public void editForm(DataGridView dg)
{
    TextBox[] textBoxes = new TextBox[dg.Columns.Count];
    for(int i = 0; i <= dg.Columns.Count-1; i++)
    {
        textBoxes[i] = new TextBox();  
    }
}

虽然使用Enumerable.Range

可以做得更好
public void editForm(DataGridView dg)
{
    var textBoxes = 
        Enumerable.Range(0, dg.Columns.Count)
                  .Select(i => new TextBox())
                  .ToArray();
}

无论哪种方式,您都可以将文本框添加到表单中。