我们说我有多个TextBoxs
,我希望连接这样的数字。然后,我想在其上添加一些文字。这有可能以某种方式吗?
这就是我到目前为止所做的:
for (int i = 0; i<5; i++)
{
string str = "Textbox" + i.ToString();
str.Text = "testing";
}
我不知道该怎么做。有人能指出我正确的方向吗?
答案 0 :(得分:0)
也许尝试使用Interpolated Strings
插值字符串看起来像包含插值表达式的模板字符串。插值字符串返回一个字符串,该字符串用它们的字符串表示替换它包含的插值表达式。
示例:强>
for (int i = 0; i<5; i++)
{
str = $"Textbox{i}";
str.Text = "testing";
}
答案 1 :(得分:0)
嗯,这是您可以使用的另一种方法,您必须跟踪表单中的所有文本框并将它们添加到全局列表中。
Dictionary<string,TextBox> texts = new Dictionary<string,TextBox>();
在 FormLoad 上执行此操作
foreach (Control c in this.Controls)
if (c.GetType() == typeof(TextBox))
texts.Add(c.Name,(TextBox)c);
并且只要您想获得任何文本框,请执行此操作
TextBox targetBox;
texts.TryGetValue("textBox1", out targetBox);
你的for循环看起来像
for (int i = 0; i<5; i++)
{
string str = "Textbox" + i.ToString();
TextBox targetBox;
texts.TryGetValue(str, out targetBox);
targetBox.Text = "testing";
}
这种方法的一个优点是整个文本框(任何控件)都在字典中,因此即使文本框不遵循通用的命名方案,您也可以查找它。