C#将每个数组元素写入表单上的不同文本框
大家好,希望有个方向。我有一个文本文件,作为一个简单的字符串数组读入C形式。我想将每个元素放入表单上它们自己的文本框中。我知道我可以做得很好C#将每个数组元素写入表单上的不同文本框,c#,arrays,C#,Arrays,大家好,希望有个方向。我有一个文本文件,作为一个简单的字符串数组读入C形式。我想将每个元素放入表单上它们自己的文本框中。我知道我可以做得很好 textBox1.Text = myArray[0]; textBox2.Text = myArray[1]; 等等,但我希望某种形式的for或foreach语句可以遍历数组和文本框 作为参考,表单上有50个框,数组将始终有50个元素 提前谢谢 更新,我感谢这两个评论,它让我指出了正确的方向。我真的很难把它想清楚。我最后想到的是: //Read
textBox1.Text = myArray[0];
textBox2.Text = myArray[1];
等等,但我希望某种形式的for或foreach语句可以遍历数组和文本框
作为参考,表单上有50个框,数组将始终有50个元素
提前谢谢
更新,我感谢这两个评论,它让我指出了正确的方向。我真的很难把它想清楚。我最后想到的是:
//Read Data
string[] lines = File.ReadAllLines(Globals.savePath);
//Write Data To Form
for (int i = 1; i <= 20; i++)
{
TextBox textBox = (TextBox)groupBox1.Controls["textBox" + i];
textBox.Text = lines[i-1];
}
for (int i = 21; i <= 40; i++)
{
TextBox textBox = (TextBox)groupBox2.Controls["textBox" + i];
textBox.Text = lines[i - 1];
}
for (int i = 41; i <= 60; i++)
{
TextBox textBox = (TextBox)groupBox3.Controls["textBox" + i];
textBox.Text = lines[i - 1];
}
for (int i = 61; i <= 80; i++)
{
TextBox textBox = (TextBox)groupBox4.Controls["textBox" + i];
textBox.Text = lines[i - 1];
}
另外,它还有一个额外的好处,那就是在我编辑文本框的下一部分进行翻译,而不是写回文本文件
string[] lines = new string [81];
for (int i = 1; i <= 20; i++)
{
TextBox textBox = (TextBox)groupBox1.Controls["textBox" + i];
lines[i - 1] = textBox.Text;
}
for (int i = 21; i <= 40; i++)
{
TextBox textBox = (TextBox)groupBox2.Controls["textBox" + i];
lines[i - 1] = textBox.Text;
}
for (int i = 41; i <= 60; i++)
{
TextBox textBox = (TextBox)groupBox3.Controls["textBox" + i];
lines[i - 1] = textBox.Text;
}
for (int i = 61; i <= 80; i++)
{
TextBox textBox = (TextBox)groupBox4.Controls["textBox" + i];
lines[i - 1] = textBox.Text;
}
lines[81] = "End";
File.Delete(Globals.savePath);
File.WriteAllLines(Globals.savePath, lines);
string[]行=新字符串[81];
对于(int i=1;i这是我第一次尝试回答,所以祈祷这是很有帮助的。我会将文本框存储在一个列表中,然后在数组中循环时,只需执行以下操作:
var maxItems = myArray.Length;
for(int loop = 0; loop < maxItems; loop++)
{
textBoxItemList[loop].Text = myArray[loop];
}
var maxItems=myArray.Length;
for(int-loop=0;loop
这可以调整为使用最小的数组大小来确定循环大小,这样就不会超出范围。maxItems
就是一个设置循环大小的示例。
希望有帮助。为什么不将文本框引用放在另一个数组中?
var maxItems = myArray.Length;
for(int loop = 0; loop < maxItems; loop++)
{
textBoxItemList[loop].Text = myArray[loop];
}