У меня есть оконная форма, которая имеет пару комбинированных ящиков. Что мне нужно, так это иметь все поля со списком, в которых есть элементы, для которых их выбранный индекс установлен равным 0. Вместо того, чтобы делать каждое поле со списком по имени вручную, есть функция, которая возвращает все дочерние элементы по типу. Или получить всех детей и сравнить их тип с типом элемента combobox?Элементы формы окна петли C#
@noah, ваш исходный код не работал сначала, но все, что мне было нужно, было напоминанием о том, что дети называются элементами управления (спасибо).
С, что я сделал рекурсивную функцию, которая устанавливает все поля со списком не только прямые потомки основного вида:
private void recursiveSetComboBox(Control element)
{
foreach (Control a in element.Controls)
{
if (a.Controls.Count != 0)
recursiveSetComboBox(a);
else if (a.GetType().Name == "ComboBox")
{
ComboBox b = (ComboBox)a;
b.SelectedIndex = 0;
}
}
}
recursiveSetComboBox(this);
вы можете просто написать 'а есть ComboBox' проверить тип. .. –