我有一个16个元素的int数组和16个文本框(textBox1,textBox2 ....),看起来像4x4矩阵。有没有办法将textboxes值放到每个数组元素不使用这样的代码:
8dp
答案 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);
}
}
}
}