在我的程序中,我有50个文本框,名称为TB1到TB50
我正在尝试使用for循环来通过几行代码更改它们的内容。而不是重复代码50次。但是,我不能让这个工作。任何帮助将不胜感激(请看下面我得到了什么)
private void Button_Click(object sender, RoutedEventArgs e)
{
for (int i =1; i < 50; i++)
{
string TB = "TB" + i;
TextBox TBN = new TextBox();
TBN.Name = TB;
TBN.Text = "Textbox Changed";
}
答案 0 :(得分:0)
试试这个:
private void Button_Click(object sender, RoutedEventArgs e)
{
for (int i =1; i < 50; i++)
{
string TB = "TB" + i;
// credit to sTrenat
TextBox TBN = this.Controls[TB];
TBN.Text = "Textbox Changed";
}
答案 1 :(得分:0)
首先获取某些元素的所有文本框,具体取决于文本框的位置
如果他们在gird
中,只需将rootControl
替换为grid
的名称,之后它的柠檬就会挤压,使用此方法文本框名称并不重要。
IEnumerable<TextBox> TextboxCollection = rootControl.Children.OfType<TextBox>();
foreach(TextBox tb in TextboxCollection)
{
tb.Text = "Text";
}