Нужно вернуть дочерний элемент. Есть какой то Panel например, в нем есть несколько PictureBox, label и бог знает что еще. Мне нужно вытащить PictureBox по его Name. Может есть какой-то универсальный метод, который это реализует, потому что я нашел только Controls, который возвращает список всех дочерних элементов. Вот как я накостылил конкретно для своей задачи, но эта штука не универсальна, хотелось бы иметь метод для этих целей:
var playPause_controls = panels[currentTrack.track].Controls;//Получаю всех дочек из Panel
foreach(var playPause in playPause_controls) {
if (playPause is PictureBox) {//Если тип PictureBox
var pp = (PictureBox)playPause;//Костыль, т.к. не знаю как еще узнать Name
if(Regex.IsMatch(pp.Name, "PlayPause")) {//Если имя совпадает
pp.Image = Properties.Resources.play_button;//Действия...
break;
}
}
}
Если вам надо вытянуть только 1 элемент в Panel, зная его имя, то можно так:
var picture = panel1.Controls.Find("pictureBox1", true).FirstOrDefault();
По порядку:
panel1 - наш элемент Panel..Controls - Список всех дочерних элементов..Find - Ищем в данном списке по имени..FirstOrDefault() - первый найденный элемент.(PictureBox) (это если надо конечно).Продвижение своими сайтами как стратегия роста и независимости