在面板或文本框的for循环中使用变量
本文关键字:循环 变量 for 文本 | 更新日期: 2023-09-27 18:18:16
我试图将文本框中的文本设置为A, B, C等,所以我试图使用for循环来生成如下代码
string alpha = "abcdef.."
for (int i = 1; i <= number +1; i++)
{
textboxi.text = .alpha.CharAt(i)
}
"textboxi"不起作用。文本框+ I不工作,有没有人有任何想法
Thanks for the help
假设您有一些名为textbox1
, textbox2
等的文本框,您不能只是在名称中放入变量并让它引用正确的文本框。你应该先把文本框放到一个数组中。
TextBox[] textboxArray = new TextBox[] { textbox1, textbox2, textbox3, ... };
string alpha = "acdefde";
for (int i = 0; i < alpha.Length; i++)
{
textboxArray[i].Text = alpha[i].ToString();
}
编辑
注意,这对没有任何错误检查,所以如果你给它一个太长的字符串,它会爆炸。这不是那么大的问题,这里的两个项目的长度是已知的在编译时,但这里有一个修复:改变i < array.Length
到i < array.Length && i < textboxArray.Length
。如果您要将其放入更一般的函数中,如果给定的文本框数量不完全等于给定字符串的长度,我会让它抛出异常。
试试这个
string alpha = "abcdef.."
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= number +1; i++)
{
sb.Append (alpha.CharAt(i));
}
textbox.Text = sb.ToString();
编辑:我的回答漏掉了你试图给每个文本框分配一个字母,正如评论所暗示的那样。所以,Jack的答案是正确的,但是我强烈建议你对你的代码做一些思考,因为它闻起来很有趣(不是一种好的方式)。此外,如果文本与文本框的长度不相同,则会抛出异常。