Найдите все дочерние элементы управления определенного типа, использующего Счетный. OfType <T> () или LINQ

Существовавший MyControl1.Controls.OfType() поиски только через начальный набор и не делают входит в детей.

Действительно ли возможно найти все дочерние элементы управления использования определенного типа Enumerable.OfType() или LINQ не пишущий собственный рекурсивный метод? Как это.

14
задан abatishchev 10 June 2011 в 11:47
поделиться

1 ответ

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

Метод выглядит так

public static IEnumerable<Control> FlattenChildren(this Control control)
{
  var children = control.Controls.Cast<Control>();
  return children.SelectMany(c => FlattenChildren(c)).Concat(children);
}
40
ответ дан 1 December 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: