我正在尝试使用循环来编辑多个文本框的数据,但我不知道如何将内容为我的框名称的字符串转换为访问每个框的文本元素。
private void reset_Click(object sender, EventArgs e)
{
string cell;
for(int i = 0; i < 9; i++)
{
for (int j = 0; j < 9; j++)
{
cell = "c" + Convert.ToChar(i) + Convert.ToChar(j);
cell.text = "";
}
}
我的文本框被命名为“c00, c01, .... c87, c88”,这就是我的“单元格”变量的内容在每次迭代中的内容,但是上面的代码不起作用,因为它试图访问显然没有意义的字符串的“文本”元素。
显然我可以单独清除每个框的内容,但由于我将有多个事件会更改文本框的内容,因此最好能够实现一个循环来执行此操作,而不是为 81 行每个事件。
最佳答案
使用数组要好得多。像这样的二维数组:
TextBox[,] textboxes = ...
private void reset_Click(object sender, EventArgs e)
{
for(int i = 0; i < textboxes.GetLength(0); i++)
{
for (int j = 0; j < textboxes.GetLength(1); j++)
{
textboxes[i,j].Text = "";
}
}
}
或者像这样的锯齿状数组:
TextBox[][] textboxes = ...
private void reset_Click(object sender, EventArgs e)
{
for(int i = 0; i < textboxes.Length; i++)
{
for (int j = 0; j < textboxes[i].Length; j++)
{
textboxes[i][j].Text = "";
}
}
}
关于c# - C#中使用字符串调用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434263/