Предположим, у меня есть 7 групповых боксов, но некоторые из них также имеют групповой ящик внутри них, а некоторые нет. теперь, если я хочу перебрать эти 7 групповых полей и применить к ним что-нибудь, есть ли способ, чтобы я мог исключить те группы дочерних групп из этого цикла?Исключая групповые ящики, которые находятся внутри другого GroupBox
0
A
ответ
1
хотя я сомневаюсь в выборе реализации (вы можете использовать полиморфизм вместо того, что именно вы пытаетесь сделать?), Существует свойство родителя, например.
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
Отметьте их тегом свойств или что-то еще.
спасибо, поэтому нет такой вещи, как «родительский» или такой объект, который я могу проверить на каждом из них? правильно? – Bohn
не то, что я знаю, но это может быть связано с свойством контейнера или hwnd – Beth