一次更改多个文本框

时间:2017-12-21 21:55:27

标签: c# wpf textbox

在我的程序中,我有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";
    }

2 个答案:

答案 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";
            }