C#Windows窗体 - 如何使Textbox数组变量?

时间:2013-05-03 18:22:48

标签: c# arrays textbox runtime repeat

int iAcessorioContar = 10;
for (int iContador = 2; iContador <= iAcessorioContar; iContador++)
                {
                    Label lblAcessorio = (Label)gpbCategoria.Controls.Find("lblAcessorio" + iContador, false).FirstOrDefault();
                    TextBox txtAcessorio = (TextBox)gpbCategoria.Controls.Find("txtAcessorio" + iContador, false).FirstOrDefault();
                }

我想在变量lblAcessorio和txtAcessorio数组中存储所有文本框和标签值,这种方式我可以在我的代码中引用(所有这些标签和文本框都将在运行时创建,因为我需要这个。

由于

2 个答案:

答案 0 :(得分:0)

你似乎在问如何把你得到的东西放进一个数组中。所以,这里有一些代码显示如何使用一个应该指向正确方向的数组。

    [TestMethod]
    public void GenericTest()
    {
        object[,] array = new object[9, 2];
        for (int i = 0; i <= 8; i++)
        {
            array[i, 0] = i;
            array[i, 1] = i * 2;
        }
        for (int i = 0; i < array.GetLength(0); i++)
        {
            for (int k = 0; k < array.GetLength(1); k++)
            {
                Console.Write(array[i,k]+" ");
            }
            Console.WriteLine();
        }
    }
  

0 0

     

1 2

     

2 4

     

3 6

     

4 8

     

5 10

     

6 12

     

7 14

     

8 16

答案 1 :(得分:0)

创建列表并添加它们:

        // declare these at CLASS level (not in the method that has the code below)
        List<Label> Labels = new List<Label>();
        List<TextBox> TextBoxes = new List<TextBox>();

        ...
            // in some method:
            int iAcessorioContar = 10;
            for (int iContador = 2; iContador <= iAcessorioContar; iContador++)
            {
                Label lblAcessorio = (Label)gpbCategoria.Controls.Find("lblAcessorio" + iContador, false).FirstOrDefault();
                TextBox txtAcessorio = (TextBox)gpbCategoria.Controls.Find("txtAcessorio" + iContador, false).FirstOrDefault();

                Labels.Add(lblAcessorio);
                TextBoxes.Add(txtAcessorio);
            }