2015-11-23 4 views
2

Я хочу заполнить 40 текстовых блоков приложения, все они имеют несколько разные имена, но в целом они заканчиваются другим номером.За цикл для заполнения текстовых блоков

Я хотел бы использовать:

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

Можно ли это сделать?

Благодаря

ответ

2

В 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(); 
} 
0

Если вы используете Windows Forms (WinForms) затем: Control.ControlCollection.Find

Пример:

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

Или в WPF: Ответ How can I find WPF controls by name or type? CrimsonX в

+0

Мы используем WPF, извините! –

+0

затем покажите код, как вы добавляете элементы управления к окнам. –

+0

В этом случае вы должны сделать тройной шаг: следуйте http://stackoverflow.com/questions/636383/how-can-i-find-wpf-controls-by -имя или типа и проверить ответ CrimsonX – stratever

Смежные вопросы