[英]Change the Textbox1.text to Textbox2.text
假设我有多个TextBoxs
并且希望将数字连接起来。 然后,我想在上面添加一些文本。 这有可能吗? 这是我到目前为止的内容:
for (int i = 0; i<5; i++)
{
string str = "Textbox" + i.ToString();
str.Text = "testing";
}
我不确定该怎么做。 有人可以指出我正确的方向吗?
也许尝试使用插值字符串
插值字符串看起来像包含插值表达式的模板字符串。 插值字符串返回一个字符串,该字符串将其包含的插值表达式替换为其字符串表示形式。
例:
for (int i = 0; i<5; i++)
{
str = $"Textbox{i}";
str.Text = "testing";
}
嗯,这是您可以使用的另一种方法,您必须跟踪表单中的所有文本框并将它们添加到全局列表中。
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";
}
这种方法的优点是整个文本框(对此问题的任何控件)集合都在字典中,因此即使文本框未遵循通用命名方案,您也可以查找它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.