For循环填充文本块

本文关键字:文本 填充 循环 For | 更新日期: 2023-09-27 18:24:12

我想在一个应用程序中填充40个文本块,它们的名称略有不同,但它们的结尾数字不同。

我想使用:

for(int i = 1; i < 41; i++)
{
    textblock_(i).text = array[i].ToString();
}

有可能做到这一点吗?

感谢

For循环填充文本块

在WPF中,可以使用FindName方法。

首先,我们通过FindName(Control的x:Name)获得一个对象。然后将其转换为控件的类型。就像这样:

for (int i = 1; i < 41; i++)
{
    TextBlock tb = (this.FindName(string.Format("textblock_{0}", i)) as TextBlock);
    tb.Text = array[i].ToString();
}

如果您使用的是Windows窗体(WinForms),则:Control.ControlCollection.Find

示例:

TextBox currentTextBox = this.Controls.Find("textBox1" + i.ToString(), true).FirstOrDefault() as  TextBox;
currentTextBox.Text = array[i].ToString();

或者在WPF中:如何按名称或类型找到WPF控件?CrimsonX的答案