For循环填充文本块
本文关键字:文本 填充 循环 For | 更新日期: 2023-09-27 18:24:12
我想在一个应用程序中填充40个文本块,它们的名称略有不同,但它们的结尾数字不同。
我想使用:
for(int i = 1; i < 41; i++)
{
textblock_(i).text = array[i].ToString();
}
有可能做到这一点吗?
感谢
在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的答案