文本框中的数组值
本文关键字:数组 文本 | 更新日期: 2023-09-27 18:11:45
我有一个16元素int数组和16个文本框(textBox1, textBox2 ....),看起来像4x4矩阵。有没有办法把文本框值放到每个数组元素,而不使用这样的代码:
array[1] = (int)textBox1.Text;
array[2] = (int)textBox2.Text;
一种可能是将对TextBox
实例的引用存储在数组中。
TextBox[] Boxes;
然后使用'for'循环填充值。
for (int i = 0; i < 16; i++)
{
array[i] = (int)Boxes[i].Text;
}
您可以使用一个函数来获取文本框的文本作为一个整数使用它的"index"从窗体的控件集合:
int GetBoxText(int index)
{
return Convert.ToInt32(this.Controls["textBox" + i.ToString()].Text);
}
注意,这没有任何类型的错误检查。如果你想的话可以加一些。所有这些都是从表单的控件集合中获取名为textBox + i的控件的文本,并将其转换为整数。
我认为最好的设计方式就是按照它的本意去做。特别是,矩形/多维数组在这种情况下可能很有用:
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);
}
}
}
}