Исключая групповые ящики, которые находятся внутри другого группового ящика - PullRequest
0 голосов
/ 10 сентября 2010

Допустим, у меня есть 7 групповых блоков, но у некоторых из них также есть групповые блоки внутри, а у некоторых нет.Теперь, если я хочу перебрать эти 7 групповых блоков и применить к ним что-нибудь, есть ли способ исключить эти дочерние групповые блоки из этого цикла?

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

хотя я ставлю под сомнение выбор реализации (можете ли вы вместо этого использовать полиморфизм? Что именно вы пытаетесь сделать?), Есть свойство Parent, например,

void soSomething(Control ctrl)
{
    if (ctrl is GroupBox && (ctrl.Parent is null || !(ctrl.Parent is GroupBox)))
    {
         //do something here
    }
    foreach(Control child in ctrl.Controls)
    {
        doSomething(child);
    }
}
1 голос
/ 10 сентября 2010

Отметьте их свойством тега или чем-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...