Найти элемент управления по имени в элементах управления Windows Forms

У меня есть список имен моих текстовых полей, и я хочу найти элемент управления по имени. Как это возможно?

3 ответа

Решение

Используйте Control.ControlCollection.Find.

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";

РЕДАКТИРОВАТЬ для asker:

Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
    tbxs[0].Text = "Found!";
}

Ты можешь использовать:

f.Controls[name];

куда f ваша переменная формы Это дает вам контроль с именем name,

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";

Если Controls.Find не найден, "textBox1" => ошибка. Вы должны добавить код.

If(tbx != null)

Редактировать:

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
If(tbx != null)
   tbx.Text = "found!";
Другие вопросы по тегам