来自文本框的数组值

时间:2015-09-07 15:23:35

标签: c#

我有一个16个元素的int数组和16个文本框(textBox1,textBox2 ....),看起来像4x4矩阵。有没有办法将textboxes值放到每个数组元素不使用这样的代码:

8dp

3 个答案:

答案 0 :(得分:2)

一种可能性是将对TextBox实例的引用存储在数组中。

TextBox[] Boxes;

然后使用' for'循环以填充值。

for (int i = 0; i < 16; i++)
{
   array[i] = (int)Boxes[i].Text;
}

答案 1 :(得分:1)

您可以使用函数将文本框的文本作为整数使用表单控件集合中的“索引”:

int GetBoxText(int index)
{
  return Convert.ToInt32(this.Controls["textBox" + i.ToString()].Text);
}

请注意,这没有任何错误检查。如果你愿意,可以添加一些。所有这一切都是获取名为textBox的控件的文本+来自窗体控件集合的任何内容并将其转换为整数。

答案 2 :(得分:0)

恕我直言,设计的最佳方式是它的意图。特别是,rectangular/multidimensional arrays在这种情况下可能很有用:

public partial class Form1 : Form {
    TextBox[,] textBoxes;
    int[,] values;

    public Form1() {
        InitializeComponent();
        textBoxes = new TextBox[4, 4];
        values = new int[textBoxes.GetLength(0), textBoxes.GetLength(1)];
        for(int r = 0; r < textBoxes.GetLength(0); r++) {
            for(int c = 0; c < textBoxes.GetLength(1); c++) {
                values[r, c] = int.Parse(textBoxes[r, c].Text);
            }
        }
    }
}