#c_sharp #winforms #controls
Мне надо на форме именно найти элемент (button, panel и т.д.) по его name (имени переменной). Как это сделать?
Ответы
Ответ 1
Метод Control.ControlCollection.Find - выполняет поиск элементов управления по их свойству Name и создает массив из всех элементов управления, которые соответствуют условиям поиска. Поиск элементов, совпадающих по имени, будет выглядеть так: var textBoxes = this.Controls.Find("textBox", true); Если необходимо просто найти в коллекции элемент по ключу, тут нужно знать ключ (имя элемента), то вот так: var textBox = this.Controls["textBox1"]; Проверить, содержится ли элемент в контролах можно с помощью метода Control.ControlCollection.ContainsKey. К примеру, взять элемент по ключу будет правильнее, если заранее проверить, содержится ли он в коллекции, код будет выглядеть так: var name = "textBox1"; if (this.Controls.ContainsKey(name)) { var textBox = this.Controls[name]; // делаем с этим элементом то, что нам нужно }
Комментариев нет:
Отправить комментарий